【C语言】 char类型的输出问题

#include<stdio.h>

int main(){
char keyval;
printf_s("请输入一个字符:");
scanf_s("%c", &keyval);
printf_s("The keyval is %c\n", keyval);

return 0;
}

为什么运行结果中不显示?

对字符和字符串,scanf_s需要增加一个表示缓冲区长度的参数,改成这样:
scanf_s("%c", &keyval,1);追问


那么像这样子的【scanf_s("%c %d %d %lf %lf",  &ch,&num1,&num2,&grade1,&grade2);】必须要拆成


scanf_s("%c ",&ch,1);

scanf_s("%d %d %lf %lf",&num1,&num2,&grade1,&grade2);吗?


有没有可以合在一起的写法呢?

追答

可以合在一起写,直接把长度做为参数放到字符或字符串变量后面
scanf_s("%c %d %d %lf %lf", &ch, 1, &num1,&num2,&grade1,&grade2);

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-23
#include<stdio.h>

int main(){
char keyval;
printf("请输入一个字符:");
scanf("%c", &keyval);
printf("The keyval is %c\n", keyval);

return 0;
}
相似回答