這兩個代碼是否相同? for循環中的這些語句用逗號分隔,寫在同一行中。他們會從左到右進行評估嗎?由逗號分隔的for循環內的語句評估從左至右
此外,我想問問,我可以使用多達語句在for循環中以逗號分隔。就像(i = 0,j = 0,k = 0; .......)一樣
for(i=0, j= strlen(s)-1; i<j; i++, j--){
c=s[i];
s[i]=s[j];
s[j]=c;
}
和
for(i=0, j= strlen(s)-1; i<j; i++, j--)
c=s[i],s[i]=s[j],s[j]=c;
後面的逗號分隔字符串只會讓您感到迷惑。 for循環定義(不是body)的用法是合適的。我會告訴你,如果'i'和'j'是* unsigned *類型(比如'size_t'或'unsigned int')*並且*你傳遞了一個零長度的字符串's'到這個(0-在終止'S [0]',你不會喜歡的結果 – WhozCraig
@Lord索爾特呵呵呵不,我就不能使用,如果你說 –
@LZ:我喜歡逗號操作有時我覺得它可以使函數更容易閱讀,如果函數中的重要概念不是對多個變量的單獨賦值,那麼就會壓縮什麼是不重要的,我認爲它是一個有效的語言結構,程序員應該理解這個結構。下一步是什麼?由於縮進和行在大括號之前餵食? – johnnycrash