【问题标题】:I do not understand this. Why x=1 when enter 5,6$ [duplicate]我不明白这个。为什么输入 5,6$ 时 x=1 [重复]
【发布时间】:2021-02-01 00:13:49
【问题描述】:

代码是:

int main(){
   int i=1;
   int j=2;
   char c='a';
   int x=-1;
   x=scanf("%d%d%c", &i, &j,&c);
   printf("%d",x);
}

当你输入 5,6$ 时,这个输出是 1。为什么?

【问题讨论】:

  • 输出为 1,因为 scanf 函数返回 1,你到底想做什么?
  • 如果输入格式需要逗号,必须指定:"%d,%d%c"

标签: c scanf


【解决方案1】:

scanf 函数返回,因为它成功读取了一个字段。您要求它读取两个整数,后跟一个字符。它读取一个整数(5),但随后被逗号阻塞。所以一个成功的字段意味着一个返回值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 2020-04-03
    • 2020-12-18
    • 1970-01-01
    相关资源
    最近更新 更多