过路人帮忙找下错误(非常小滴程序)
#include "stdio.h"main()
{int a,b,c,d;
printf("输入一串字符:\n");
while(getchar()!='\0')
{switch(sizeof(getchar()))
{case 8:a++;break;
case 16:b++;break;
case 32:c++;break;
default :d++;
}
}
printf("字符的个数为:%d\n",a);
printf("整数的个数为:%d\n",b);
printf("实数的个数为:%d\n",c);
printf("其它个数为:%d\n",d);
}
搜索更多相关的解决方案:
过路人
----------------解决方案--------------------------------------------------------
将a b c d 定义初始值
----------------解决方案--------------------------------------------------------
同意楼上
----------------解决方案--------------------------------------------------------
哎呀,,我好糊涂呀,,居然把这给忘了,,
----------------解决方案--------------------------------------------------------
sizeof(getchar())
天哪,谁教你sizeof这么用的??
[flash=400,300]http://yzfy.byethost17.com/flash.php[/flash][color=white]
----------------解决方案--------------------------------------------------------
循环怎么不终止呢,,我是输入一个就回一下车,当我什么也不输入的时候回一下车循环应该就结束了呀,,怎么还处入输入的画面呢,,,迷惑???
----------------解决方案--------------------------------------------------------
[bo][un]爱喝牛奶的猫咪[/un] 在 2008-6-17 16:50 的发言:[/bo]
sizeof(getchar())
天哪,谁教你sizeof这么用的??
http://yzfy.byethost17.com/flash.php
sizeof(getchar())
天哪,谁教你sizeof这么用的??
http://yzfy.byethost17.com/flash.php
书上也没说不能这么用啊,,请问SIZEOF应该怎么用呢,,指点一下呀
----------------解决方案--------------------------------------------------------
编译过程中居然也没提示错误,,嘿..
----------------解决方案--------------------------------------------------------
sizeof的使用
char* ss = "0123456789";
sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针
sizeof(*ss) 结果 1 ===》*ss是第一个字符
char ss[] = "0123456789";
sizeof(ss) 结果 11 ===》ss是数组,计算到\0位置,因此是10+1
sizeof(*ss) 结果 1 ===》*ss是第一个字符
char ss[100] = "0123456789";
sizeof(ss) 结果是100 ===》ss表示在内存中的大小 100×1
strlen(ss) 结果是10 ===》strlen是个函数内部实现是用一个循环计算到\0为止之前
int ss[100] = "0123456789";
sizeof(ss) 结果 400 ===》ss表示再内存中的大小 100×4
strlen(ss) 错误 ===》strlen的参数只能是char* 且必须是以''\0''结尾的
char q[]="abc";
char p[]="a\n";
sizeof(q),sizeof(p),strlen(q),strlen(p);
结果是 4 3 3 2
----------------解决方案--------------------------------------------------------
呵呵,那个sizeof(getchar())是他自创的。果然后生可畏啊,我都想不到。
有的时候新手比老手更有想象力和创造力!
----------------解决方案--------------------------------------------------------