小编Hit*_*esh的帖子

为什么循环没有被终止?

int main()
{
    int c;
    c = getchar();
    while (c!=EOF){
        putchar(c);
        c=getchar();
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,当我输入值-1为什么循环没有被终止.
EOF的值= -1我从这段代码得到的,

main()
{
    printf("EOF is %d\n",EOF);
}
Run Code Online (Sandbox Code Playgroud)

当我使用Ctrl+ 时代码被终止D,有没有其他方法可以在不使用Ctrl+的情况下终止相同的代码D.

c

1
推荐指数
1
解决办法
100
查看次数

为什么编译时不会抛出错误?

#include <stdio.h>

int main()
{
  int i = 0;
  int *a;
  do
    {
      scanf("%d",&a[i]);
      i++;
    }
  while (a[i-1]!=-1);
}
Run Code Online (Sandbox Code Playgroud)

此代码读取数字直到-1遇到.指针a未初始化,但代码仍然编译并运行,没有任何错误.为什么?这可以是一种初始化数组而不声明其大小的方法吗?

c pointers

-9
推荐指数
2
解决办法
93
查看次数

标签 统计

c ×2

pointers ×1