gpt4 book ai didi

c - 无法计算输出中的行数

转载 作者:行者123 更新时间:2023-12-04 07:33:31 25 4
gpt4 key购买 nike

代码如下:

#include <stdio.h>

int main(void) {
int nextChar;
int numLines = 0;

while ((nextChar = getchar())!= EOF) {
if (nextChar == '\n') {
++numLines;
}
}
printf("The\nsky\nis\nblue\n");
printf("%d lines read.\n", numLines);
return 0;
}

它运行,但返回 0 行读取。我试过将“天空是蓝色的”文本放在很多不同的地方,但似乎没有任何效果。

书上有代码,但没有

    printf("The\nsky\is\blue.\n");

但输出显示为:

    The
sky
is
blue.
4 lines read.

有什么建议吗??

最佳答案

您的程序正在寻找 EOF 以从 while 循环中跳出。要输入 EOF,请使用:

^Z (Ctrl + Z) in Windows
^D on Unix-like systems

CTRL + D 在 Ubuntu 上对我有用。我已经在我的机器上运行了你的代码。要获得所需的输出,您需要输入 -

The  (Press Enter) 
Sky (Press Enter)
is (Press Enter)
Blue (Press Enter)
(and finally send EOF)

ENTER 将向 Ubuntu 上的程序发送 '\n' 字符。 Windows 使用\r\n 表示按下回车键,而 Linux 和 Unix 使用\n 表示按下回车键。

关于c - 无法计算输出中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38212306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com