Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的C代码总是返回0';命令提示符中有什么?_C_Char_Command Prompt - Fatal编程技术网

为什么我的C代码总是返回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') {

大写字母应该变成小写,从小写到大写,数字增加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')
        {
            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
。阅读编译器警告,它会立即告诉您错误