【问题标题】:What is the value of putchar(c) here '_'?putchar(c) 在这里 '_' 的值是多少?
【发布时间】:2013-09-06 00:39:09
【问题描述】:

putchar(c) 外循环的值是多少?

main()
{
  int c;

  while (c = getchar() != EOF) {
    printf("printf c_inloop :%d\n",c);
    printf("Putchar c_inside: ");
    putchar(c);
    printf("\n\n");
  }

  putchar(c);
  printf("printf c_outloop %d",c); /*outside loop*/

}

当我运行程序时,说“th”(wtq) 并在 cmd(Windows) 中按回车:

th
printf c_inloop :1
Putchar c_inside:(gives me a smileyface emoticon)

printf c_inloop :1
Putchar c_inside:(gives me a smileyface emoticon)

printf c_inloop :1
Putchar c_inside:(gives me a smileyface emoticon)


^Z (Ctrl + Z)
 printf c_outloop 0

注意printf c_outloop 0 之前的空格。 putchar(c)空格的值是多少?

【问题讨论】:

    标签: c printf putchar kr-c


    【解决方案1】:

    当您退出循环时,c 的值是EOF,它不是一个有效的字符值(这就是它用于指示文件结束的原因)。传递给putchar是没有意义的。

    【讨论】:

    • 那为什么会有那个空间?它象征着什么?
    • 没什么。这只是一个废话操作的垃圾结果。
    • 值不是布尔值吗?对或错?因为如果我去掉括号,外面的 printf_c 的值就变成了-1,这不是 EOF 的值吗
    • 什么是布尔值?如果你的意思是c,它是一个整数。在您的平台上,EOF 很可能是 -1
    • c 的值是布尔值就是我的意思
    猜你喜欢
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 2016-11-22
    • 2014-06-04
    • 2013-12-23
    • 2015-06-06
    • 2012-11-23
    相关资源
    最近更新 更多