C警告:声明无效

ayt*_*e17 16 c warnings for-loop

当我尝试编译我的prgram:

gcc -pedantic -Wall -ansi 
Run Code Online (Sandbox Code Playgroud)

我收到警告:警告:声明没有效果

参考这一行:

for(currentDirection; currentDirection <= endDirection; currentDirection++)
Run Code Online (Sandbox Code Playgroud)

谁能帮我这个?

Thi*_*ter 34

currentDirection; 什么也没做.

用你的线替换

for(; currentDirection <= endDirection; currentDirection++)
Run Code Online (Sandbox Code Playgroud)

或者,如果您忘记初始化变量:

for(currentDirection = 0; currentDirection <= endDirection; currentDirection++)
Run Code Online (Sandbox Code Playgroud)

  • 或者,根据终止标准,它可能是"currentDirection = 1" (3认同)

Mah*_*esh 9

for(currentDirection; currentDirection <= endDirection; currentDirection++)
 // ^^^^^^^^^^^^^^^ Its saying about the above statement.
Run Code Online (Sandbox Code Playgroud)

第一个语句应该有一个赋值,在这种情况下不会发生,并且是警告的原因.确保currentDirection已分配有效值,或者它可能有垃圾,可能会导致问题.

它类似于什么时候说 -

 int i = 10 ;
 i ;   // This statement is valid but has no effect.
Run Code Online (Sandbox Code Playgroud)