下面两个小程序为什么第一个可以正确执行,第二个却不可以?只是把输入赋值给变量a了,再用a去判断为什么不对呢?
程序1:可正确执行
#include <stdio.h>
main()
{
int n;

n = 0;

while(getchar() != EOF ){
++n;
printf("%d\n",n);
}

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Aksel凉凉

    11人对此回答表示赞同

    a只赋值了一次。。。
    展开
    11
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Jonathan

    3人对此回答表示赞同

    第二个你只接受了一次字符,即a=getchar(),a里存的是第一个字符,下面的while里的判断条件恒成立,所以不能达到目的,可以在while最后加上a=getchar();
    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 赵俊材

    3人对此回答表示赞同

    getchar() 是从输入里面挨个获取里面的值。

    如果 a = getchar()的话,只能取到1个。你的第二个程序可以写成这样:

    程序2:执行错误
    #include <stdio.h>
    main()
    {  
    int a,n;

    n = 0;
    a = getchar();
    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部