【发布时间】:2014-01-07 11:36:25
【问题描述】:
我真的很困惑getchar() 和scanf() 的用法。这两者有什么区别?
我知道scanf() [和家人] 从用户 [或文件] 获取一个字符一个字符并将其保存到一个变量中,但它是立即执行此操作还是在按下某些内容 (Enter) 之后执行此操作?
我不是很理解这段代码,我看到很多代码都使用getchar(),它们都让你在屏幕上输入你想要的任何东西,但没有响应,但是当你按下enter时,它就会退出。
int j, ch;
printf("please enter a number : \n");
while (scanf("%i", &j) != 1) {
while((ch = getchar()) != '\n') ;
printf("enter an integer: ");
}
在这段代码中,我不能使用scanf() 逐个字符地获取并测试它吗?还有,这条线是什么意思?
scanf("%i", &j) != 1
因为当我按下 1 时,按下 2 时并没有什么不同?这件作品有什么作用?
这条线什么时候会发生?
printf("enter an integer: ");
因为它永远不会发生。
【问题讨论】: