yuchu3d
2021-09-30 16:51
采纳率: 84.2%
浏览 75

关于scanf()函数%d后面带逗号的情况

您好, 先看下这个程序, scanf()函数中带逗号的情况:
#include<stdio.h>
int main(void)
{

int age1,age2;  /* 变量*/ 


printf("Enter your age  .\n");
scanf("%d , %d",&age1,&age2);  /* 两个%d之间带了逗号  */ 
printf("%d,%d",age1,age2);



return 0; 

}

下面是运行的情况:
1、正常情况下,输入 98,99 ,运行如下:

img


这个是正常的

2、如果输入的是 98, 99 , 则运行的结果如下:

img

这个结果就是错的了,99 怎么会变成1呢, scanf 不是会跳过整数之前的所有空白吗。

3、如果输入的是 98 99, 则运行的结果也是如下:

img


这个结果也是错误的,输入的时候 中间没有逗号,但是结果怎么和2 一样呢。

谢谢!

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qfl_sdu 2021-09-30 16:53
    已采纳

    scanf中的样式是什么样的,你输入的时候必须跟scanf中的样式一致,输入98, 99 的时候,要么逗号用成了中文的逗号,要么就是有多余的空格。

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题