今天写门禁系统遇到一个问题,调试了很久,虽然达到了想要的效果,但是搞不懂为什么要这样写,如下:
#include
int main(){
char door[5];
int i;
printf("请选择门号:");
scanf("%d",&i);
printf("请输入第%d号门的权限:",i);
scanf("%c",&door[i]);
return 0;
}
运行结果如下:
#include
int main(){
char door[5];
int i;
printf("请选择门号:");
scanf("%d",&i);
printf("请输入第%d号门的权限:",i);
scanf(" %c",&door[i]);
return 0;
}
运行结果如下:
然后这样
#include
int main(){
char door[5];
int i;
printf("请选择门号:");
scanf("%d",&i);
printf("请输入第%d号门的权限:",i);
scanf("%s",&door[i]);
return 0;
}
运行结果如下:
我就不明白了为什么%c和%s还有 %c(前面加有一个空格)会有这些结果,对于输入字符串是该用%s,可我这儿是输入Y和N,是一个字符,为什么还要用%s呢,用%c就不对呢?