下面的代碼運行沒有給出任何錯誤或警告for循環中允許多個條件嗎?
#include<stdio.h>
int main(){
int i, j;
int p = 0, q = 2;
for(i = 0, j = 0; i < p, j < q; i++, j++){
printf("HelloWorld\n");
}
return 0;
}
然而,該書Let Us C(Yashwant Kanetkar)說,只有一個表達式被允許在for循環測試表達式(見該書的第115)。
我不確定這個標準。在for循環的測試表達式中是否允許使用多個表達式?
編輯:我當然可以加入這兩個表達式,但當我在上面的代碼website上找到上述代碼時,我很沮喪。我的問題是,這是否有效的C代碼?
是的,我當然可以,但當我在網站上發現上述代碼時,我很沮喪:http://www.geeksforgeeks.org/output-of-c-program-set-22/ –
C標準是不同的,例如, C89和C99。除了C語言編譯器的不同實現之外,還有其他變體。你的代碼是正確的。 – Farshid
該代碼是正確的 - 「逗號」運算符評估其操作數,其結果是最後一個操作數。例如'int a = 1,2; // here a = 2' –