我的第一个C语言程序

我的第一个C语言程序,c,C,好的,我正在为twitter制作一个小程序,基本上你要做的是输入你有多少追随者,然后你会得到回复 我的问题是,当你输入你的追随者数量时,你只会得到的第一个回复。删除第9行-你有两个不同的变量,都称为追随者-并将第15行更改为=1000000)-=不是=删除第9行-您有两个不同的变量,都称为followers,并将第15行更改为=1000000)-=不是=您键入了显然应该是的内容:“如果(追随者50)”。第8、9和14行也应删除 编辑:由于问题现在包括代码(无行号),应删除的部分如下: {

好的,我正在为twitter制作一个小程序,基本上你要做的是输入你有多少追随者,然后你会得到回复


我的问题是,当你输入你的追随者数量时,你只会得到的第一个回复。删除第9行-你有两个不同的变量,都称为
追随者
-并将第15行更改为
<50


最后一个if应该是
else if(followers>=1000000)
-
=
不是
=

删除第9行-您有两个不同的变量,都称为
followers
,并将第15行更改为
<50


最后一个if应该是
else if(followers>=1000000)
-
=
不是
=

您键入了显然应该是的内容:“如果(追随者<50)”作为“如果(追随者>50)”。第8、9和14行也应删除

编辑:由于问题现在包括代码(无行号),应删除的部分如下:

{
    int followers;

    printf( "Please Enter How Many Twitter Followers You Have...\n" );
    scanf ( "%d" , &followers );
    getchar ();
}
您想摆脱
{
}
。您还需要去掉定义了
followers
的两个位置之一,例如:
int followers


我原本说应该删除main中的一个,但实际上,删除global可能会更好。这两种方法都可以——关键是要确保从用户那里读取的
追随者也会在
if
语句中使用。对于一个如此微小的程序,使用局部变量和全局变量之间的区别并不重要,但从长远来看,最好学会避免使用全局变量。

您键入了显然应该是的内容:“if(followers<50)”作为“if(followers>50)”。第8、9和14行也应删除

编辑:由于问题现在包括代码(无行号),应删除的部分如下:

{
    int followers;

    printf( "Please Enter How Many Twitter Followers You Have...\n" );
    scanf ( "%d" , &followers );
    getchar ();
}
您想摆脱
{
}
。您还需要去掉定义了
followers
的两个位置之一,例如:
int followers


我原本说应该删除main中的一个,但实际上,删除global可能会更好。这两种方法都可以——关键是要确保从用户那里读取的
追随者也会在
if
语句中使用。对于一个如此微小的程序,使用局部变量和全局变量之间的区别并不重要,但从长远来看,最好学会避免使用全局变量。

您将
followers
变量声明为全局变量,并将其声明为
main()
内部块中的一个变量。当您调用
scanf()
时,您很可能正在向属于最内部作用域的
跟随者写入内容。然后,一旦你打到右大括号,它就会超出范围。尝试去掉全局跟随者计数,并去掉调用
scanf()
时的大括号。您还需要修复第一个
if
语句中的逻辑,以便将比较转到另一个方向。

您将
followers
变量声明为全局变量,并将其声明为
main()
内的内部块中。当您调用
scanf()
时,您很可能正在向属于最内部作用域的
跟随者写入内容。然后,一旦你打到右大括号,它就会超出范围。尝试去掉全局跟随者计数,并去掉调用
scanf()
时的大括号。您还需要修复第一个
if
语句中的逻辑,以便比较结果与前面相反。

您应该检查表单相反的方向

if( x > 1000000)
{
}
else if(x > 10000)
{
}
else if(x > 50 )
{
}
或者你应该匹配精确的间隔

if(x<50)
{
}
else if((x>=50) && (x<1000))
{
}
else if((x>=1000) && (x<2000))
{
}

如果(x=50)&&(x=1000)&&(x您应该检查相反方向的表单

if( x > 1000000)
{
}
else if(x > 10000)
{
}
else if(x > 50 )
{
}
或者你应该匹配精确的间隔

if(x<50)
{
}
else if((x>=50) && (x<1000))
{
}
else if((x>=1000) && (x<2000))
{
}

如果(x=50)&&(x=1000)&&&(xonconditional else)最终会更好,避免重复最大的数字,这是维护中的错误的原因。@David:Yep-想指出>=和!=之间的区别,这比解释更快:P@cian:它们基本相同-您有3个不同的问题,重复“followers”,应该是
=
>50
-其余的逻辑是好的。修复了您是否也删除了额外的“followers”“变量?最后最好是无条件的,避免重复最大的数字,这是维护中的错误的原因。@David:是的-想指出>=和!=之间的区别,这比解释更快:P@cian:它们基本相同-您有3个不同的问题,重复的“追随者”,应该是
=
>50
-其余的逻辑是好的。修复了您是否也删除了额外的“跟随者”变量?-1:这是不正确的。您的第二个备选方案将匹配第一个if中所有>50的内容。我修复了应答者的错误。还存在一个问题,即输入1000完全无效。-1:这是不正确的。您的第二个备选方案将匹配第一个if中所有>50的内容。我修复了应答者的错误。在e准确输入1000没有任何作用。他在实际问题中没有提供行号(只是粘贴栏)。你能引用应该删除哪些行吗?他在实际问题中没有提供行号(只是粘贴栏)。你能引用应该删除哪些行吗?