c语言问题 复合语句问题
{intx,a=3,b=5;x=a;a=b;b=x;}分号是不是就阻断了前面的运算,也就是不合后面没有联系了,结果是不是x=3,a=5,b=3.。。。...
{
int x,a=3,b=5;
x=a;
a=b;
b=x;} 分号是不是就阻断了前面的运算,也就是不合后面没有联系了,结果是不是x=3,a=5,b=3.。。。 展开
int x,a=3,b=5;
x=a;
a=b;
b=x;} 分号是不是就阻断了前面的运算,也就是不合后面没有联系了,结果是不是x=3,a=5,b=3.。。。 展开
3个回答
展开全部
你的结果应该是 x=3, a = 5, b = 3.
;的作用代表单语句结束,跟复合语句什么的没关系
但是注意{}内属于一个作用域,出了{},那么x,a,b就不一样了
;的作用代表单语句结束,跟复合语句什么的没关系
但是注意{}内属于一个作用域,出了{},那么x,a,b就不一样了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x,a,b都是在{一开始就定义了。所以不会影响括号外的x,a,b。
但是在{后,在定义之前的x,a,b的改变会影响括号外。
下面是C++的例子,不知道C里是不是这样处理的。
#include <iostream>
using namespace std;
int main(void)
{
int a=1;
{
a=2;
int a=3;
a=4;
}
cout<< a;
return 0;
}
输出是2
你很仔细,我看好你哦。不过快点学C++了,C好麻烦的
但是在{后,在定义之前的x,a,b的改变会影响括号外。
下面是C++的例子,不知道C里是不是这样处理的。
#include <iostream>
using namespace std;
int main(void)
{
int a=1;
{
a=2;
int a=3;
a=4;
}
cout<< a;
return 0;
}
输出是2
你很仔细,我看好你哦。不过快点学C++了,C好麻烦的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
复合语句是由{}决定的,分号只是说明单条语句的结束
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询