scanf("%2d%f",&a,&b)中第一个格式控制字符2d的意思是读取2位,作为一个整数输入到给对应的变量a的地址中。输入876,当然只读取前2位87。这是2的作用,后面输入对于2来说,相当于非法输入。
对于%f,后面输入的是7
543.0,对于浮点型数据是不可能得到空格的,所以遇到空格,认为是非法输入,结束输入。所以b的值是6,即是6.000000
scanf()是c语言库函数,用于从键盘设备读取数据到内存当您输入4个数时,实际上已经发生了错误,scanf()函数发生异常,程序结束
输入内容不符合scanf()函数中指定的格式也会发生错误,程序结束
在VC中输入的话,你要严格的按照格式输入,例如你的
scanf种的格式是a=%d
b=%d,那么输入时就要是a=数字b=数字enter键结束!
%f
%e你在%f和%e中间插了个空格,所以在输入时是“数据空格键数据enter
%c
%c这个同第二个一样。