gpt4 book ai didi

c - 编写一个循环程序,从标准输入读取字符并将其十进制值写入标准输出(每行一个),直到 EOF 发生

转载 作者:行者123 更新时间:2023-11-30 21:22:45 24 4
gpt4 key购买 nike

我尝试编写一个程序,在循环内从标准输入读取字符,并将其十进制值每行写入标准输出,直到发生 EOF

我的代码是:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
char c;
while (c != '\n' && c != EOF) {
scanf("%c",&c);
printf("%d\n",c);
}
}

输入时:

Hi!
Line 2

输出应该是:

72
105
33
10
76
105
110
101
32
50
10

如何获取 2 行作为输入并读取 Enter 作为字符?

最佳答案

How can I get 2 lines as input and read "Enter" as character?

好吧,您已经在阅读“Enter”(即 \n)。事实上,您还使用它来终止 while 循环。因此,您的程序将在读取第一行后停止。换句话说 - 如果您希望能够读取多行,请删除 while

中对 \n 的检查

另请注意,您的程序在初始化之前使用了 c。你永远不应该做的事情。

顺便说一句:我认为 getc 是比 scanf 更好的函数。

类似这样的事情应该做:

#include <stdio.h>

int main(void)
{
int c;
while((c = getc(stdin)) != EOF)
{
printf("%d\n",c);
}
}

关于c - 编写一个循环程序,从标准输入读取字符并将其十进制值写入标准输出(每行一个),直到 EOF 发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51595852/

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