标题:[求助]为什么是死循环啊??????
只看楼主
fang8705
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-10-19
 问题点数:0 回复次数:5 
[求助]为什么是死循环啊??????
#include<stdio.h>
main()
{
unsigned m=1,n,c=0,i,j;
long a[100][100];
printf("\nPlease input n:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
a[i][j]=m++;
for(i+=1;i<n;i++)
a[i][j]=m++;
for(j=n-2-c;j>c-1;j--)(这步为什么是死循环啊?)
a[i][j]=m++;
for(i=n-2-c;i>c-1;i--)
a[i][j]=m++;
c++;
while(a[i][j]=n*n)
break;
}
for(i=0;i<n;i++)
printf("%d",a[i][j]);
}
搜索更多相关主题的帖子: main include stdio unsigned 
2007-10-21 15:13
DaTun
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-10-19
得分:0 

我想这个程序应该是矩阵输入输出,
但在定义整数类型时定义成了无符号的,中间的C-1成了负数超出范围,让它和一个i,j比大小是错的,第一次它就会把c-1认成-1的补码好像是65535
改完后,对a[i][j]的赋值:第一次j在有一步是-1赋值后n的值好像就变了
我也是建议一下

2007-10-21 16:07
fang8705
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-10-19
得分:0 
谢谢二楼的高手大哥,不过我想应该写的详细一点,恕小弟愚笨,不能理解。
2007-10-21 21:38
aktsoso
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-10-15
得分:0 

没看懂,是不是我太笨了。


2007-10-21 22:43
yuwei5000
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-10-16
得分:0 

把那个c-1该成c 试试

2007-10-21 22:53
tcxiang
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-10-14
得分:0 
c-1成负数了..应该是这个问题吧

2007-10-21 23:01



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




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

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