求各位大大解释下哪里错了。

我用vs2013运行此代码运行不了,没有错提示是Run-Time Check Failure #3 - The variable 'a' is being used without being initialize

#include <stdio.h>
int main()
{
 /* 小伙伴们:
 选择你们认为最合理的循环结构完成功能吧 */
 int sum = 0;  //定义计算结果变量sum
 int i = 1;    //定义循环数字变量i
 int a, b, num = 0;


//使用while循环
 while (i <= 100)
 {
  if (i % 2 == 0)
  {
   a = -i;
  }
  else
  {
   b = +i;
  }
  i++;
  num = a + b;
  sum = num + a + b;
  return 0;
 }
}

在”http://www.imooc.com/code/5276“的

qq_Untouchable_13581289
浏览 1222回答 2
2回答

super_mb

a没有初始化值就用,所以错了,在while循环里,第一次循环,判断语句里i%2 == 0,当i = 1时,执行的是else里的代码,也就是b = +i,这里给b赋了一个初值,接下来的num = a + b;给num赋值,但是你没发现你的a并没赋值吗?那么你给num赋值,又该赋值为什么?所以要么在定义的时候直接将a初始化为一个值,要么在给num赋值前,给a赋一个明确的值。

慕圣5050932

a没有初始化的值,所以报错。
打开App,查看更多内容
随时随地看视频慕课网APP