为了账号安全,请及时绑定邮箱和手机立即绑定

为啥把int result=a*b放在前面运行不了?


#include <stdio.h>
int main(void)
{
 int a,b,result;
 int result=a*b;
 for(a=9;a>0;a--)
 {
  for(b=1;b<=a;b++)
  {
   printf(" %d*%d=%d ",a,b,result);
  }
  printf("\n");
 }
 return 0;
}

正在回答

3 回答

你a和b只是声明了,都没值你怎么运行啊。

1 回复 有任何疑惑可以回复我~
#1

星辰一心 提问者

是我之前理解错了,以为可以一开始声明一个接下来都要用的运行规则
2019-08-20 回复 有任何疑惑可以回复我~
#2

星辰一心 提问者

十分感谢!
2019-08-20 回复 有任何疑惑可以回复我~

我把你的代码贴到dev里面运行,产生错误,

第一次尝试,我把result删除了,只int a, b; ,其他都不变,运行成功 

int a, b, result; -->  int a, b;

第二次尝试,我把第二行的int删除了,只保留后面的部分,也运行成功了

int result = a * b; --> result = a * b;

图是完全没有修改的时候运行的报错

https://img1.sycdn.imooc.com//5d5bb6fc000186b207100100.png

1 回复 有任何疑惑可以回复我~
#1

星辰一心 提问者

我也试过了,能运行,不过它没办法进行运算,得到的结果全是0
2019-08-20 回复 有任何疑惑可以回复我~
#2

星辰一心 提问者

谢谢你的回答!
2019-08-20 回复 有任何疑惑可以回复我~
#3

qq_神秘大叔_0 回复 星辰一心 提问者

可以看到99乘法表的呀,没有出现全是0的情况
2019-08-20 回复 有任何疑惑可以回复我~
#4

qq_神秘大叔_0 回复 星辰一心 提问者

看错了,我自己把result删除了,直接替换成a*b运行了。 pringf(“”,a, b,a*b)这样
2019-08-20 回复 有任何疑惑可以回复我~
查看1条回复

这位匿名者,你的int result=a*b;怎么在循环之外,还有int可以不需要。

1 回复 有任何疑惑可以回复我~
#1

星辰一心 提问者

十分感谢!
2019-08-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为啥把int result=a*b放在前面运行不了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信