getcha是怎么回事啊
这是在vc++6.0编译器中一段程序:# include<stdio.h>
main(void)
{
int j=12;
while (1)
{
char i=getchar();
printf("%d,%d\n",i,j);
}
}
执行结果:
C:\未命名.jpg
我输入0123再按回车,就得到了上面好像是五个printf的结果。
当然,我知道最后一个10是回车键的ASCII码。
但他怎么会这样执行?就像执行了5遍一样。
我想这一定是gecchar的原因。
i里面究竟是怎么存放东西的呢? 执行结果:
0123(我输入的,完了就按回车)
48,12
49,12
50,12
51,12
10,12
以上就是执行结果了。
怎么回事啊? getcha == get碴 == 找碴
楼主看这个吧
http://apps.hi.baidu.com/share/detail/237457
找茬。。。
这编译器为什么还不一样呢!!!在另一个机房这样运行,却是只输出一个键值…………
就开始的那个48 “getchar()是stdio.h中的库函数,它的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了。而getch()和getche()是conio.h中的库函数,它的作用是从键盘接收字符。getchar带有显示。”
看来,先前那个vc6.0有问题,接受了不止一个字符 阿斯科码
0123对应于
48,49,50,51
回车不记得了,看样子应该是10
页:
[1]