一个指针问题
程序代码:
#include <stdio.h> #include "stdlib.h" int had(int *b) { int c; *b=0; while((c=getchar())!=EOF) (*b)++; } main() { int b; had(&b); printf("%d",b); system("pause"); }输出不了结果 请高人指教啊...
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1。 #include <stdio.h> #include <stdlib.h> int had(int *b) { int c; *b=0; while((c=getchar())==53) (*b)++; return 0; } int main() { int b; had(&b); printf("%d",b); system("pause"); }