scanf函数中“%d”和“ %d”有区别吗,为什么
时间: 2023-05-26 12:05:18 浏览: 89
SCANF和GETCHAR的区别,GETCHAR的妙用
5星 · 资源好评率100%
scanf函数中“%d”和“ %d”是有区别的。
“%d”表示忽略掉输入中的空格符、制表符、回车符等空白字符,直接读入下一个非空白字符,如果这个字符不是数字,那么scanf函数将返回失败。
“%d”可以将字符串中的数字读到变量中,但是如果在数字之前有空格符或制表符等空白字符,scanf函数会将其作为无效字符忽略掉。
“% d”表示在输入前,需要读入并忽略所有的空格符、制表符、回车符等空白字符,直到读取到下一个非空白字符才开始读入数字。如果输入的第一个非空白字符是数字,那么它就会被读入变量中。%d格式化说明前可以加空格符,表示在输入时跳过任意多的空格符(包括0个),遇到第一个非空格符再读入一个数字。
因此,“%d” 和“ %d”在输入数字前的处理方式不同,会影响数字的输入,导致二者有区别。
阅读全文