首页 > 用户发贴区 > 编程问题提问区 > for语句执行顺序问题
2009
10-27

for语句执行顺序问题

#include<stdio.h>
void main()
{
    int max_value(int array[][4]);
    int a[3][4]={{1,2,5,7},{2,4,6,8,},{15,17,34,12}};
    printf(“max value is %d\n”,max_value(a));
}
int max_value(int array[][4])
{
    int i,j,max;
    max=array[0][0];
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
            if(array[j]>max)
                max=array[j];
            return(max);
}
请问i,j的值如何变化,难道不是循环一次加1么,即无法出现元素array[1][2],但结果正确,请指教一下,谢谢。Shocked


for语句执行顺序问题》有 2 条评论

  1. kkw 说:

    你的程序师错的啊,正常的使用应该不是这样的,:

    我帮你改改吧:
    #include<stdio.h>
    void main()
    {
        int max_value(int array[][4]);
        int a[3][4]={{1,2,5,7},{2,4,6,8,},{15,17,34,12}};
        printf(“max value is %d\n”,max_value(a));
    }
    int max_value(int array[][4])
    {
        int i,j,max;
        max=array[0][0];
        for(i=0;i<3;i++)
            for(j=0;j<4;j++)
                if(array[j]>max)
                    max=array
    [j];
                return(max);
    }
  2. 紫瞳 说:

    O_O LS的骗人,根本没改。那个array[j]G改成array[j]就能得到最大的元素值了。

留下一个回复