如何对几个字符变量赋值
#include<stdio.h>int main()
{
char a, b, c;
printf("a=");
scanf_s("%c",&a );
printf("b=");
scanf_s("%c", &b);//无法赋值
printf("c=");
scanf_s("%c", &c);
}
//输出结果
a=A
b=c=B
我设置了三个字符变量分别赋值 但第二个总是没有办法赋值就直接到第三个了 getchar()也不行 你可以输出a,b,c看看到底赋值是多少,我在你代码赋值前加一个getchar()就能正确赋值了#include <stdio.h>
int main(void) {
char a, b, c;
printf("a=");
scanf("%c", &a);
//getchar(); //吸收换行符
printf("b=");
scanf("%c", &b);
//getchar(); //吸收换行符
printf("c=");
scanf("%c", &c);
printf("%c %c %c", a, b, c);//测试a,b,c录入的值
return 0;
} 第一次输入的时候输入A\n \n留在了缓冲区里 所以第二个scanf会直接拿缓冲区里的\n字符 所以直接跳到了第三个scanf
页:
[1]