当前位置: 代码迷 >> C语言 >> 过路人帮忙找下错误(非常小滴程序)
  详细解决方案

过路人帮忙找下错误(非常小滴程序)

热度:305   发布时间:2008-06-17 16:32:07.0
过路人帮忙找下错误(非常小滴程序)
#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应该怎么用呢,,指点一下呀
----------------解决方案--------------------------------------------------------
编译过程中居然也没提示错误,,嘿..
----------------解决方案--------------------------------------------------------
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())是他自创的。果然后生可畏啊,我都想不到。
有的时候新手比老手更有想象力和创造力!
----------------解决方案--------------------------------------------------------
  相关解决方案