新秀发问

麦迪 2011-03-30 12:29:04
#include <stdio.h>
#define M 10
void main()
{
int a[M][M],i,j;
for(i=0;i<M;i++)
for(j=0;j<=0;j++)
{
if(i=j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%d",a[i][j]);
if(i==j)
printf("\n");
}
}
请各位看一下,运行时怎么提示错误在没有代码的地方? 究竟是什么错误 谢谢了
...全文
129 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
nfer_cn 2011-03-30
  • 打赏
  • 举报
回复
#include <stdio.h>
#define M 10
void main()
{
int a[M][M],i,j;
for(i=0;i<M;i++)
for(j=0;j<=0;j++)
{
if(i==j||j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%d",a[i][j]);
if(i==j)
printf("\n");
}
}
wanghang8888 2011-03-30
  • 打赏
  • 举报
回复
代码让人看得纠结,if语句里面i=j是赋值语句,应该i==j.
麦迪 2011-03-30
  • 打赏
  • 举报
回复
可是运行后,是无休止的1111111111111……这是什么情况?
pure555 2011-03-30
  • 打赏
  • 举报
回复
这代码写得让人郁闷~~~
ww884203 2011-03-30
  • 打赏
  • 举报
回复
if(i=j||j==0)
这一句有问题吧
masmaster 2011-03-30
  • 打赏
  • 举报
回复
for(j=0;j<=0;j++) //这句有问题吧
孤飞俊驰 2011-03-30
  • 打赏
  • 举报
回复
先SF再说
麦迪 2011-03-30
  • 打赏
  • 举报
回复
再次感谢了。
lushanyunwu 2011-03-30
  • 打赏
  • 举报
回复
楼上正解
陈思有 2011-03-30
  • 打赏
  • 举报
回复
(1)将if(i=j||j==0)中的i=j改成i==j;
(2)for(j=0;j<=0;j++)中的j<=0改成j<=i

sonnno 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 tzt1099462818 的回复:]

可是运行后,是无休止的1111111111111……这是什么情况?
[/Quote]
因为这句if(i=j||j==0) a[i][j]=1;
你把j的值赋给i (i=j)这个表达式的返回值是i的值 非0 所以执行a[i][j]=1;
麦迪 2011-03-30
  • 打赏
  • 举报
回复
谢谢各位大虾
从吾所好 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 masmaster 的回复:]
for(j=0;j<=0;j++) //这句有问题吧
[/Quote]
+1
c_losed 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 super_admi 的回复:]

果然很新很秀啊……
[/Quote]
+1
super_admi 2011-03-30
  • 打赏
  • 举报
回复
果然很新很秀啊……
zjs100901 2011-03-30
  • 打赏
  • 举报
回复
我是来看看新秀的。
赵4老师 2011-03-30
  • 打赏
  • 举报
回复
单步调试和设断点调试是程序员必须掌握的技能之一。
麦迪 2011-03-30
  • 打赏
  • 举报
回复
为什么出来 都是11111111111111……呢?请问
nfer_cn 2011-03-30
  • 打赏
  • 举报
回复
1. 注意= 与 ==的使用
2. 代码缩进
3. if和else之后最好用{},哪怕只有一行语句

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧