Re: [問題] 條件運算元 ? :
int i,j;
int a[3][4]= {{1,2,3,4},{5,6,7,8},{9,0,1,2}};
for(i=0;i<3;i++)
for(j=0;j<4;j++,((j==4)?printf("%d\n",a[i][j-1]):printf("%d ",a[i][j-1])));
可讀性不高@@~
※ 引述《pizza0117 (阿水~*)》之銘言:
: 我之前寫程式要輸出矩陣的時候
: 為了換行常常用到這個耶~
: 主要是放在for(?; ?; 這裡);
: 例如for(i=0; i<31; i++,(i%7)? printf("%2d\n",m[i]) : printf("%2d ",m[i]) )
: 這個例子是寫萬年曆裡面用到的
: 上面那個好像不太好看= =+
: 先看下面的好了
: 假設一個陣列int a[3][4] = {...};
: 通常輸出都是這樣寫
: for(i=0; i<3; i++)
: {
: for(j=0; j<4; j++)
: {
: printf("%d ",a[i][j]);
: }
: printf("\n");
: }
: 我寫程式莫名的不喜歡{}
: 能省則省
: for(i=0; i<3; i++)
: {
: for(j=0; j<4; j++)
: printf("%d ",a[i][j]);
: printf("\n");
: }
: 為了i迴圈的那個換行一定要加{} ˋˊ
: 所以我就把程式改成
: for(i=0; i<3; i++,printf("\n"))
: for(j=0; j<4; j++)
: printf("%d ",a[i][j]);
: 老實說我不知道這樣用是不是正確的~
: 但目前還沒遇到錯誤~就繼續使用了~
: 曾想過要不要改成這樣
: for(i=0; i<3; i++,printf("\n"))
: for(j=0; j<4; j++,printf("%d ",a[i][j]));
: 不過覺得好像太誇張了就沒有這樣做了
: ※ 引述《gozha (勾炸)》之銘言:
: : ( 條件判斷 )?(
: : ( 條件判斷 )?(
: : 運算式1
: : ):(
: : 運算式2
: : )
: : ):(
: : ( 條件判斷 )?(
: : 運算式1
: : ):(
: : 運算式2
: : )
: : )
: : 好像沒有比較好看= =
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.29.94.129
推
06/17 10:22, , 1F
06/17 10:22, 1F
→
06/17 10:23, , 2F
06/17 10:23, 2F
→
06/17 10:24, , 3F
06/17 10:24, 3F
推
06/17 10:54, , 4F
06/17 10:54, 4F
推
06/17 17:08, , 5F
06/17 17:08, 5F
→
06/17 17:09, , 6F
06/17 17:09, 6F
→
06/17 22:06, , 7F
06/17 22:06, 7F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章