慕少6168890
2020-02-19 11:03
#include <stdio.h>
int x = 77;
void fn1()
{
printf("fn1(): x=%d\n", x);
}
int main()
{
int x = 10;
if(x>0)
{
x = 100;
x /= 2;
printf("if语句内, x=%d\n", x);
}
printf("main方法内, x=%d\n", x);
fn1();
return 0;
}
代码没错,但输出的 main方法内:x=50,跟要求不符;
你在if语句中并没有重新定义变量 int x, 而是对mian函数的局部变量x进行了重新赋值, 所以mian方法内输出的值和要求不符了。
在if判断语句里面,重新定义一个局部变量int x=100,x/=2.这样if里面的执行后这个局部变量就不影响main函数里面的x=10的值
C语言入门
926028 学习 · 20793 问题
相似问题