对于字符串,相信大家都喜欢用string.h库里面封装好的函数来进行操作,确实简单,方便,符号自然人的思维。倘若在有的简单应用里面不用此类函数,只用stdio.h里面的函数,有时候同样能起到一样的效果,里面甚至蕴含着编程的技巧和智慧。
比如,输出一个数和其自身的平方。让用户输入需要显示的行数,如果这个数比较大,那么运行程序的时候只见满屏幕数字,无疑十分让人恼火。所以考虑每隔一定的数目,让用户继续操作(按回车继续),好让所有的数的值都能被看清,即达到如下效果:
实现的代码是这样的:
int main(void)
{
int n;
long i;
printf("This program prints a table of squares.\n");
printf("Enter number of entries in table: ");
scanf("%d", &n);
getchar();
for (i = 1; i <= n; i++){
printf("%10ld%10ld\n", i, i * i);
if(i % 24 == 0)
{
printf("Press Enter to continue...");
getchar();
}
}
return 0;
}
说明:实现的关键其实在于两次getchar函数的使用,第一次getchar();使得第25行显示正常,否则显示异常:
第二处使用getchar();阻碍了循环的执行,达到了让用户输入的效果;
getchar();不判断拿到的符号是不是回车,及时输入其他字符,一样有该效果;也即是说getchar函数本身就能阻断循环..
2.为什么25行显示正常要在循环外加一句getchar();这个函数怎么控制结果的输出?是什么原理...
弄清楚上述问题,今后遇到类似循环执行需要暂停的情况,有重要意义,对于getchar函数和循环一起的运用,可以实现很强大的功能。
阅读(3723) | 评论(1) | 转发(0) |