从键盘输入:54321<回车> 为什么结果为1?
1.它是怎么给a和b赋值的?
第一个:
#include <stdio.h>
int main()
{
int a,b,s;
scanf("%2d%2d",&a,&b);
s=a/b;
printf("s=%d",s);
return 0;
}
2.如果我输入的值的字符大于它设置的字符的大小,那么输出又是多少?
第二个
#include<stdio.h>
int main()
{
float a=1234.56789,b=55.321;
printf("a=%4.2f,b=%5.1f\n",a,b);
return 0;
}
下面是我的理解,供参考:
#include <stdio.h>
int main()
{
int c,d,s;
//%2d 是说读取最大字段的宽度 即读取一个两位数或读取到第一次遇到空白
//这里是从输入读取两个两位数到变量c和变量d,输入54321,就是c=54,d=32
scanf("%2d%2d",&c,&d);
//然后int型变量相除,是取整数部分,54/32=1.6875,取整即等于1
s=c/d;
printf("c=%d,d=%d,s=%d\n",c,d,s);
float a=1234.56789,b=55.321;
// float a= 1.1,b=2.2;
//%4.2f 4把后面对应的变量a打印最低四个字段的长度,结果的位数大于4就自动扩充,然后.2是说打印两位小数(第三位小数四省五入)
//%5.1f 同理 5打印最长5个字段,少的位数用空格代替 .1打印1位小数(第二位小数四省五入)
printf("a=%4.2f,b=%5.1f\n",a,b);
return 0;
}