In einem C-Programm immer die Warnung: "Statement with no effect"
Wenn ich versuche zu kompilieren Sie ein Programm mit -Wall
GCC zeigt die Warnung:
expcal.c:66:5: warning: statement with no effect [-Wunused-value]
diese Warnung bezieht sich die Zeile:
ed.operator[j] == str[i];
welche in der folgenden Schleife:
for(i=0;i<strlen(str);i++)
{
j=0;
if(str[i] == '+' || str[i] == '-' || str[i] == '*')
{
if(str[i+1] == '+' || str[i+1] == '-' || str[i+1] == '*')
return 0;
else
{
//j=0;
ed.operator[j] == str[i];
count++;
j++;
}
}
}
Weiß ich, dass diese Warnung auftreten, wenn es gibt etwas falsch mit einer Zuweisungsanweisung. Was ist falsch in dem obigen code, der dazu führen würde, dass der GCC zu erzeugen wie eine Warnung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Aussage
ist nicht eine Aufgabe, es ist ein Vergleich mit
==
. Um diese Zuordnung, versuchen, schriftlichDie Warnung, dass Sie immer bedeutet, dass der Vergleich erzeugt einen Wert, der nie verwendet wird, so die Aussage hat keine sichtbaren Auswirkungen auf das Programm. Es ist ein Hinweis, dass Sie wahrscheinlich wollen, um zu umschreiben, dass es als etwas mit einem Seite-Effekt.
Hoffe, das hilft!
examples_of_why_to_use_Wall++