求选D的原因,看不懂,为什么1.23会分开

img

因为第一个输入是%c字符,只会读一个字符1,第二读%d整形剩下的字符23,空格为分隔符,第三个也是空格分隔456,789被忽略。

%c是字符,只有一个也就是1

%c让c只能取一个字符,所以c='1'
scanf函数遇到空格就是一个变量赋值的结束,所以23会被赋值给i
%s将23空格后面的456赋值给s,(456后面是空格,所以s的值到6以后就停止赋值)
所以最后的答案就是D