欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 為什么運行C語言二維數組出來的值不對(詳看貼內容) [打印本頁]

作者: WGL88    時間: 2019-7-11 16:17
標題: 為什么運行C語言二維數組出來的值不對(詳看貼內容)
各位師兄,有個問題請教下,我用DEV-C++編譯器編譯如下一段源代碼,為什么得到的結果行=3,列=4,正確的結果應該是行=2,列=3,因為有個a[0][0]為第一位。

  1. #include<stdio.h>
  2. void main()
  3. {
  4.         int i,j,a[3][4],row,col,max; //定義參數
  5.         for(i=0;i<3;i++)//行循環
  6.         {
  7.                 for(j=0;j<4;j++)//列循環
  8.                 {
  9.                         scanf("%d",&a[i][j]);//輸入12個整數
  10.                 }
  11.         }
  12.         max = a[0][0];//設定a[0][0]為最大值
  13.         row = 0;//行為0
  14.         col = 0;//列為0
  15.         for(i=0;i<3;i++)
  16.         {
  17.                 for(j=0;j<4;j++)
  18.                 {
  19.                         if(a[i][j] > max)
  20.                         {
  21.                                 max = a[i][j];
  22.                                 row = i;
  23.                                 col = j;
  24.                         }
  25.                 }
  26.         }
  27.         printf("max=%d,行=%d,列=%d",max,i,j);
  28. }
復制代碼

QQ截圖20190711161706.png (10.46 KB, 下載次數: 39)

QQ截圖20190711161706.png

作者: 尹子歸來    時間: 2019-7-12 08:35
因為退出for循環最后是執行了一步表達式三即i++;這時候i=3了,判斷否出來,此時i就是為3 的
作者: f556    時間: 2019-7-12 09:20
2樓正解,for(i=0;i<3;i++)不執行for時i是=3的。
作者: haohaoxiansheng    時間: 2019-7-12 09:27
是的,問題就出在這里,for(i=0;i<3;i++)不執行for時i是=3的。
作者: WGL88    時間: 2019-7-16 11:29
那程序編寫問題處在哪?如何改正呢?
作者: db895166315    時間: 2019-7-17 08:53
考慮一下for循環的特點,既然彈出循環的時候,i=3,j=4,你可以令row=i-1,col=j-1.即可輸出正確結果。
作者: 白字兒先生    時間: 2019-7-17 09:57
2樓正解,for(i=0;i<3;i++)不執行for時i是=3的
作者: xujing    時間: 2019-7-17 17:08
二樓正解




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1