为什么我的C代码总是返回0';命令提示符中有什么?
大写字母应该变成小写,从小写到大写,数字增加1,9变成0。当包含标准输入时,我的代码可以工作,但每次按enter键时,命令行都会返回0为什么我的C代码总是返回0';命令提示符中有什么?,c,char,command-prompt,C,Char,Command Prompt,大写字母应该变成小写,从小写到大写,数字增加1,9变成0。当包含标准输入时,我的代码可以工作,但每次按enter键时,命令行都会返回0 #include <stdio.h> int main() { char c; int i; for (i=0;i<=2132;i++) { c = getchar(); if(c>='a' && c<='z') {
#include <stdio.h>
int main()
{
char c;
int i;
for (i=0;i<=2132;i++)
{
c = getchar();
if(c>='a' && c<='z')
{
c-=32;
}
else if(c>='A' && c<='Z')
{
c+=32;
}
else if(c>='0' && c<'9')
{
c++;
}
else if(c='9')
{
c-=9;
}
putchar(c);
}
return 0;
}
#包括
int main()
{
字符c;
int i;
对于(i=0;i='a'&&c='a'&&c='0'&&c而言,错误发生在第行,如果(c='9')
,则为else
请注意,在所有其他情况下,您都在使用比较,而在这里您将c
赋值给'9'
。区别在于您使用了=
而不是=
,因此如果c
是第九位,那么所有四个if/else if语句的计算结果都为false
使用(c=='9')
检查字符c
是否等于数字9。c='9'
将c设置为'9',您使用的是赋值等于,而不是“等于”根据需要。c==9
检查c
是否等于9。这是确定相等时的常见错误。请注意,您可以使用文字使代码更清晰,例如:c-'a'+'a'
关于:c=getchar();
函数getchar()
返回一个int
,而不是char
。阅读编译器警告,它会立即告诉您错误