错误在哪

来源:百度知道 编辑:UC知道 时间:2024/07/02 08:05:32
#include <stdio.h>
main()
{ char ch,c1,c2;
printf("Enter a character:");
ch=getchar();
if((ch>='a')||(ch<='z')) /*如果是小写字母,则转换成大写字母*/
ch-=32;
c1=ch-1;
c2=ch+1;
if(ch='A') c1=ch+25;
else if(ch='Z') c2=ch-25;
putchar(c1);
putchar(ch);
putchar(c2);
putchar('\n');
}

if((ch>='a')||(ch<='z')) /*如果是小写字母,则转换成大写字母*/
这一句,应该是
if((ch>='a')&&(ch<='z')) /*如果是小写字母,则转换成大写字母*/

||是或的意思
&&才是与的意思

一楼正解,
||是前面的的正确就不执行后面的
&&是两个条件都要执行