gpt4 book ai didi

c - 在 C 中使用 getchar();每次我使用它时它都会移动到下一个字符吗?包括在分配操作中?

转载 作者:太空狗 更新时间:2023-10-29 15:01:57 25 4
gpt4 key购买 nike

我在用 C 编写程序时正在使用 getchar()(在类(class)的这一点上还不允许使用 scanf。)我想知道是否每次调用它时它是否移动到下一个;包括在分配操作期间。例如;我正在尝试从控制台读取 double 据;并确定它的正面是否有负号。如果是这样;我想分配一个变量 neg 为 1(这样我就可以判断最终结果是否应该返回负值),然后我想移动到下一个字符来进行实际的双重计算,而不是。例如)

    int x = getchar();
int neg = 0;

if(x == '-') {
neg = 1;
x = getchar(); // will this make it so the next time I use the x
} // variable it will be past the negative sign and to the
//first actual digit?

最佳答案

是的,每次您调用 getchar() 时,它都会读取下一个 字符(前提是有下一个 字符要读取)。

引用 C11,第 7.21.7.6 章

The getchar() function returns the next character from the input stream pointed to by stdin.

如果没有任何有效可读,

If the stream is at end-of-file, the end-of-file indicator for the stream is set and getchar returns EOF. If a read error occurs, the error indicator for the stream is set and getchar returns EOF.

关于c - 在 C 中使用 getchar();每次我使用它时它都会移动到下一个字符吗?包括在分配操作中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37467251/

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