1,D,因为%3d,所以前三位数123赋给了x,后面的数赋给y,又因为45后的空格使得45后的数字输入无效,加之y是浮点数,所以y为45.000000。
2,getchar每次只读取一个字符,所以c1先读取1,之后因为%2d,且a1的类型是整数,所以a1读取2,接着到c2读取a,之后因为%3d,所以a2为345。
3,17,21,11
4,*3.140000,*3.142
5
#include <stdio.h>
main()
{
char ch;
printf("Press a key and then press Enter:");
ch=getchar();
ch=ch+32;
printf("%c,%d\n",ch,ch);
}
6,
#include <stdio.h>
main()
{
int a;
char b;
float c;
printf("Please input an integer:");
scanf("%d", &a);
printf("integer:%d\n", a);
printf("Please input a character:");
scanf("%c", &b);
printf("character:%c\n", b);
printf("Please input a float number:");
scanf("%f", &c);
printf("float:%f\n", c);
}
无法输出第二项
在10与11行中间输入getchar();
#include <stdio.h>
main()
{
int a;
char b;
float c;
printf("Please input an integer:");
scanf("%d", &a);
printf("integer:%d\n", a);
printf("Please input a character:");
getchar();
scanf("%c", &b);
printf("character:%c\n", b);
printf("Please input a float number:");
scanf("%f", &c);
printf("float:%f\n", c);
}