gpt4 book ai didi

c - 如何判断c中是否有换行符或数字?

转载 作者:行者123 更新时间:2023-11-30 15:27:05 25 4
gpt4 key购买 nike

我有一项作业,我必须阅读直到“?” char,然后检查它后面是否跟着数字和换行符,或者换行符然后是数字,然后再次换行符。我检查了“?”之后的第一个字符

if (scanf("%c",c)=='\n') ...;

但是只有当第一个是换行符时才有效,当它不是换行符并且我想读取数字时,它会剪切第一个数字......例如,它不读取 133 而只读取 33... 我该怎么做呢?

我也尝试过将字符放回去,但这不起作用

请帮忙:)

最佳答案

fgets(或远程 scanf)相比,getline 的一个优点是 getline 返回实际的成功读取的字符数。这允许通过使用返回到 getline 来简单检查末尾的 newline。例如:

while (printf ((nchr = getline (&line, &n, stdin)) != -1)
{
if (line[nchr - 1] = '\n') /* check whether the last character is newline */
line[--nchr] = 0; /* replace the newline with null-termination */
/* while decrementing nchr to new length */

关于c - 如何判断c中是否有换行符或数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27200176/

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