#include <stdio.h>
int main()
{
char rain,free;
printf("是否有空Y/N\n");
scanf("%c",&free);
getchar();
printf("是否下雨Y/N\n");
scanf("%c",&rain);
if(free=='Y')
{
if(rain=='Y')
{
printf("记得带伞哦\n");
}
}
else
{
printf("没空\n");
}
return 0;
}
这里输入N之后不是按照编写时想法那样直接输出“没空” 是因为N和Y 的ascii码值都是非0,计算机翻译为“真”,所以会运行if里面的 而不是直接到else 这样理解对吗?