#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进行赋值吗?
C语言中for语句和if语句嵌套时的变量赋值问题??
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- qzjhjxj 2023-02-21 22:11关注
当输入 a > 10 且 a < 25 时, 中间的条件不满足 b = a 就不会被执行到,待循环结束 b 始终是随机值,如 a = 11 至 25 时都不被满足,a < 10时也不会满足。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
- ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
- ¥15 FileNotFoundError 解决方案
- ¥15 uniapp实现如下图的图表功能
- ¥15 u-subsection如何修改相邻两个节点样式
- ¥30 vs2010开发 WFP(windows filtering platform)
- ¥15 服务端控制goose报文控制块的发布问题
- ¥15 学习指导与未来导向啊
- ¥15 求多普勒频移瞬时表达式
- ¥15 如果要做一个老年人平板有哪些需求