6
請解釋爲什麼它的行爲有所不同。爲什麼輸出不同?
int main() {
int p;
p = (printf("stack"),printf("overflow"));
printf("%d",p);
return 0;
}
這給出了輸出爲stackoverflow8。但是,如果我刪除paranthesis,則:
p = printf("stack"),printf("overflow");
使輸出stackoverflow5
int y = a,b;相當於int y = a;和int b; – h4ck3d 2012-07-16 19:02:07
明白了。謝謝。 – h4ck3d 2012-07-16 19:04:15
@EdS。我用gcc試過你的代碼,第三條語句確實給出了「b'的重新聲明」和「b'的先前定義」錯誤。 – abelenky 2012-07-16 19:04:22