c程序 为什么要输入两次才会出现结果

2025-03-24 14:34:51
推荐回答(3个)
回答1:

原因是:scanf()的第一个参数提供的是后面变量获取数据的格式,按照scanf的执行顺序,自左到右,所以设定格式时,若内部有\n需要换行进行读取,此时读取是:首先输入数据,回车;scanf按格式进行读,然后格式要求换行到下一行读取,scanf需要继续到下一行扫描数据,所以必须要输入一行数据(按照"%d,%d,%d"模式进行),否则不能结束。

此外,你可以输入两次不一样的结果,看看scanf到底是接收那一行的数值哦。。。

回答2:

scanf("%d,%d,%d\n",&a,&b,&c)你太粗心了,/n与\n不一样\n是转义符,换行用的

回答3:

把scanf里的\n去掉