为什么不使用scanf(C语言)扫描我的角色
在下面的代码中,我的角色未存储在角色中。。。有人能告诉我怎么了吗为什么不使用scanf(C语言)扫描我的角色,c,scanf,C,Scanf,在下面的代码中,我的角色未存储在角色中。。。有人能告诉我怎么了吗 char z; printf("A or B ?\n "); scanf("%c",&z); printf("%c",z); 读取通缉字符之前的另一个dumy字符: char dumy; scanf("%c%c",&dumy,&z); 实际上,您可以使用%*c不扫描该字符,因此不需要其他变量;scanf(“%c,%c”,&dummy,&z);printf(“%c\n”,z);但打印的符号不是我键入的:
char z;
printf("A or B ?\n ");
scanf("%c",&z);
printf("%c",z);
读取通缉字符之前的另一个dumy字符:
char dumy;
scanf("%c%c",&dumy,&z);
实际上,您可以使用
%*c
不扫描该字符,因此不需要其他变量;scanf(“%c,%c”,&dummy,&z);printf(“%c\n”,z);但打印的符号不是我键入的:╠"@user1592784:在scanf语句中没有,
,%c
)是否包含#include
?printf(“%c”,z);的输出是什么??能否在printf(…)
之后再放一个scanf(…)
?它对我有效(当我将它包装在主程序中并添加#include
)。我运行程序并键入A
,然后按Enter键;它将打印A
。由于缺少换行符,您可能会丢失输出;请尝试将printf(“%c”,z”);
更改为printf(“%c\n”,z)
@user1592784:在这之前有没有接受输入的代码?如果是这样的话,stdin
中可能还有一些你还没有读过的垃圾(比如'\n'
)在你有机会输入任何输入(你在下面回答的注释中说的)之前就被存储在z
中了。printf(“%x”,z)是什么意思
output?printf(“A或B?\n”);scanf(“%c,%c”&虚拟,&z);printf(“%c\n”,z);-->”╠printf(“%x\n”,z);-->“ffffff cc”