获取函数值(1/0)为整数

  • 本文关键字:整数 函数 获取 c
  • 更新时间 :
  • 英文 :


所以我有这样的代码:

#include <stdio.h>
/* copy input to output; 2nd version  */
main()   {
int c;
while ((c = getchar()) != EOF) {
putchar(c);
}
}

我想做的是回答这个问题:"验证表达式getchar() != EOF是0或1。">

我想这样做,但它没有工作:

#include <stdio.h>
/* copy input to output; 2nd version  */
main()   {
int c;
int a;
int a = while ((c = getchar()) != EOF) {
putchar(c);
}
printf("%d", a);
}

我该如何回答这个问题?/得到表达式的值(getchar() != EOF)到一个整数,所以我可以看到它?

编辑:因此,因为程序运行,它意味着值是1 (true),根据我。

要验证getchar() != EOF是0还是1,您可以简单地打印它:

printf("%dn", getchar() != EOF);

或者,您可以记录该值并在程序中进行测试:

int v = getchar() != EOF;
if (v == 0 || v == 1)
printf("getchar() != EOF is 0 or 1.n");
else
printf("getchar() != EOF is not 0 or 1.n");

如果您想同时验证值为0或1,并使用getchar的结果,则必须同时记录:

while (1)
{
int c;
int v = (c = getchar()) != EOF;
if (v == 0 || v == 1)
printf("getchar() != EOF is 0 or 1.n");
else
printf("getchar() != EOF is not 0 or 1.n");
if (!v)
break;
putchar(c);
}

最新更新