拒绝碳水的程序猿 2023-02-21 21:59 采纳率: 33.3%
浏览 16

C语言中for语句和if语句嵌套时的变量赋值问题??


#include<stdio.h>
int main()
{
    int a;
    int b;
    scanf("%d", &a);
    if (a > 10)
    {
        int i;
        for (i = 0; i < 20; i++)
        {
            if (a > 25)
            {
                b = a;
            }
        }
    }
    printf("%d", b);
    return 0;
}
为什么会报错说定义的变量b没有初始化,中间的if中a没有对b进行赋值吗?
  • 写回答

3条回答 默认 最新

  • qzjhjxj 2023-02-21 22:11
    关注

    当输入 a > 10 且 a < 25 时, 中间的条件不满足 b = a 就不会被执行到,待循环结束 b 始终是随机值,如 a = 11 至 25 时都不被满足,a < 10时也不会满足。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 2月21日