我在用C编写程序时正在使用getchar()(类(class)中目前尚不允许scanf。)我想知道是否每次调用它是否移到下一个?包括在分配操作期间。例如;我正在尝试从控制台阅读一遍;并确定其正面是否带有负号。如果有的话;我想将变量neg赋值为1(这样我就可以判断最终结果是否应返回负数),然后我要移至下一个字符来进行实际的 double 计算,而不能执行。
前任)

    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章



如果没有有效的信息可以阅读,

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

10-15 02:21
查看更多