标题:linux里面运行最简单的c程序居然出现这种情况
只看楼主
w397090770
Rank: 2
来 自:江西赣州
等 级:论坛游民
帖 子:36
专家分:10
注 册:2010-1-23
结帖率:75%
 问题点数:0 回复次数:2 
linux里面运行最简单的c程序居然出现这种情况
程序代码:
#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]);
}
结果就一样,但是我又在想这段程序的功能应该是把输入的数字行列对换吧,但从输出的结果来看好像不是那样!这是为什么啊???
搜索更多相关主题的帖子: 运行 linux 
2010-04-29 18:55
w397090770
Rank: 2
来 自:江西赣州
等 级:论坛游民
帖 子:36
专家分:10
注 册:2010-1-23
得分:0 
回复 楼主 w397090770
这个问题我自己解决了!!呵呵
2010-04-30 13:28
魏彬
Rank: 1
来 自:江苏无锡
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-3-4
得分:0 
你这程序运行一般是行列对换,再执行下去,不就又换回来了
2011-03-04 13:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-304885-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.131694 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved