首页 > 用户发贴区 > 编程问题提问区 > 关于输入/输出的问题……
2009
04-02

关于输入/输出的问题……

认真看书之后,按照书上编了一个程序


#include <stdio.h>


main()


{


    int c;


   while ((c = getchar()) != EOF)


        putchar (c);


}


运行程序后就一个黑框框,可以往里打字,这应该不算成功了吧,到底哪错了?


到底这程序是什么意思?


还一个问题,TC怎么重复打印出一个或者一串字符? 比如说打印出4个A了,或者别的。


麻烦回答得清楚一点了,谢谢


关于输入/输出的问题……》有 4 条评论

  1. whos 说:

    程序的意思是输入一串字符,然后当输入的数据为EOF时,输出字符并退出循环。

    在Windows下,EOF 是 Ctrl + z ;Linux 下是 Ctrl + d 。

    比如输入 abcdefg 后再按 Ctrl + z(Linux 下按 Ctrl + d) ,查看结果,程序输出为 abcdefg 。

    要重复打印的话用循环,比如打印出四个 A

    for ( i = 0 ; i< 4 ; i + +)

          printf (” A”);

  2. TC我本沉默 说:

    了解了,但是为什么不能用

    printf (c);  呢?

  3. diantouxiao 说:

    首先要明白打印字符串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′;

  4. TC我本沉默 说:

    哦,知道了

留下一个回复