printf为输出,scanf为输入,%2c输入或输出字符,宽度为2 在printf函数中如果输出的超过2个字符还是会按原来的字符 如果不足2个字符 会补空格。
printf 是以 两字符宽输出 对应的字符 scanf 是 表示读两个字符,但是这里是%c,所以会把最先读到的字符赋给对应字符变量 但是要注意,其实程序已经读了两字符(及输入流里的前两字符已读过),所以读完该字符给变量后,当有下一个变量也要从输入流读数据时,会直接读第三个字符;举个例子吧 比如我想定...
scanf("%2d%*2s%2d", &x, &y); 表示输入一个不大于两位数的整数存储到x中,再输入一个不超过2位的字符串(不赋值给任何变量),再输入一个不大于两位数的整数存储到y中!如:输入 12aa34 x=12, y=34;输入 1 + 2 x=1 , y=2;附scanf()函数格式说明:scanf函数是一个标准库函...
scanf("%2d%f",&a,&b);中第一个格式控制字符2d的意思是读取2位,作为一个整数输入到给对应的变量a的地址中。输入876,当然只读取前2位87。这是2的作用,后面输入对于2来说,相当于非法输入。对于%f,后面输入的是7 543.0,对于浮点型数据是不可能得到空格的,所以遇到空格,认为是非法输入,结...
2表示输入数据所占的宽度,其中" * "符号的意思是该输入项读入后不赋给相应的变量,即跳过该输入值。举个例子:scanf(“%d*%d%d”,&a,&b);当输入“1 2 3”,系统将1赋给a,2被跳过,3赋给b。
.2是保留小数后面的两位数字,%d是整形,整形本身就和小数不一样,%.2d就会引起编译器的误解,计算机不知道你到底时要输入整形还是小数,而%02d是指保留两位有效数字的整形,整形与两位不冲突,如果输入1的话,计算机就会自动加0保存为01,希望我的回答对你有所帮助 ...
scanf("%2d", &a)中的%2d是用来控制输入内容所占的列宽,即输入的内容只截取前两位,因此输入后a=87,输出也就是87了;而printf("%2d",a)中的%2d是用于控制输出格式,这里的2表示输出内容至少占用两格,例如a=8的话,那输出就是_8(8前面有一个空格),如果a=87,那输出就是87,如果a是...
2设有定义:int a; float b;,执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0<回车>,a和b的值分别是( )。 A.876和543.000000B.87和6.000000C.87和543.000000D.76和543.000000 3设有定义:int a;float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0,a和b的值分别是【 】...
scanf可以指定输入的宽度,比如scanf(“%2d",&a);就是把输入数据的前两位赋值给a。scanf可以用“*”跳过指定的宽度,比如scanf(“%2d%*2d%2d”,&a,&b);就是把输入数据的前两位12赋值给a,然后跳过34两位,最后把下面两位56赋给b。scanf函数遇到空格和非法输入时结束,并且可以指定输入宽度...
相关知识点: 试题来源: 解析 正确答案:B本题考查scanf函数,输入格式符%2d%f表示只接收了字符,其中a输入的值为2位的十进制整数,即87,然后将紧接着的6赋给b,因为b的值为单精度数在,即6.000000,故选择B选项。反馈 收藏