注册 登录
编程论坛 Linux教室

linux里面运行最简单的c程序居然出现这种情况

w397090770 发布于 2010-04-29 18:55, 1087 次点击
程序代码:
#include <stdio.h>
void    main()
{
    int    i,j,temp,array[4][4];
printf("Input 4*4 data:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&array[i][j]);
    for(i=0;i<4;i++)
        for(j=0;j<4;j++)
            if(i!=j)
            {
                temp=array[i][j]; array[i][j]= array[j][i]; array[j][i]=temp;
            }
for(i=0;i<4;i++)
{
    printf("\n");
for(j=0;j<4;j++)
printf("%d\t",array[i][j]);
    }
}
我在Linux里面运行输入一下的数据:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
程序的结果是:
1 2 3 4
5 6 7 8
9 10 11 12

之后我看了半天不知道为什么
我又在Window里面运行了一下发现输入相同的数据,但是结果是
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

弄的我郁闷

我在linux平台又把程序改为
程序代码:
for(i=0;i<5;i++)
{
    printf("\n");
         for(j=0;j<4;j++)
         printf("%d\t",array[i][j]);
}
结果就一样,但是我又在想这段程序的功能应该是把输入的数字行列对换吧,但从输出的结果来看好像不是那样!这是为什么啊???
2 回复
#2
w3970907702010-04-30 13:28
回复 楼主 w397090770
这个问题我自己解决了!!呵呵
#3
魏彬2011-03-04 13:41
你这程序运行一般是行列对换,再执行下去,不就又换回来了
1