认真看书之后,按照书上编了一个程序
#include <stdio.h>
main()
{
int c;
while ((c = getchar()) != EOF)
putchar (c);
}
运行程序后就一个黑框框,可以往里打字,这应该不算成功了吧,到底哪错了?
到底这程序是什么意思?
还一个问题,TC怎么重复打印出一个或者一串字符? 比如说打印出4个A了,或者别的。
麻烦回答得清楚一点了,谢谢
>> 本文固定链接: http://www.vcgood.com/archives/3130
程序的意思是输入一串字符,然后当输入的数据为EOF时,输出字符并退出循环。
在Windows下,EOF 是 Ctrl + z ;Linux 下是 Ctrl + d 。
比如输入 abcdefg 后再按 Ctrl + z(Linux 下按 Ctrl + d) ,查看结果,程序输出为 abcdefg 。
要重复打印的话用循环,比如打印出四个 A
for ( i = 0 ; i< 4 ; i + +)
printf (” A”);
了解了,但是为什么不能用
printf (c); 呢?
首先要明白打印字符串printf(“%s”,c);前提是c的最后一个字符必须是’\0′,因为printf是一个一个打印字符直到碰到’\0′就结束,例如:
int main()
{
int a[]=”hello”;
printf(“%s”,a);
exit(0);
}
就可以打印出hello了,因为数组是默认最后一个字符为’\0′的。有如:
int main()
{
int a[6]={‘h’,'e’,'l’,'l’,'o’,'\0′};
printf(“%s”,a);
exit(0);
}
结果一样,记住最后一个字符为’\0′;
哦,知道了