输入字母,判断大小写

假设输入的是字母,若是大写,则输出1;若是小写,则输出0。
这个是我的代码

img


但是运行后我输入一个大写字母,给出来的结果是1和0。自己看了好久,没有找出问题,可以帮忙解答一下吗?

else if(ch>='a' && ch<='z')
else 后面要加if,else语句最后不要加分号

你为什么不用isupper()和islower()来判断是否是大写还是小写呢?其次你if判断是大写还是小写之后,可以直接else到另一个结果不用再写条件,因为一个英文单字不是大写就是小写

解决方案:


else if(ch>='a'&&ch<='z'){
    printf("0\n");
}

  • 错误1:else if语法错误
  • 错误2:条件控制语句后面多出的分号会导致语句结束,printf()就不受条件控制,直接输出

建议:像if、while这些结构用大括号包含代码块,防止有多个语句时发生错误

可以用else if,而且else后面不要加分号