c语言,int a,b;和int a;int b有什么不同
书上这样说:main函数第7行(inta=1,b=2,c=3;)的变量c的作用域,如果改成intc;结果如何?...
书上这样说:main函数第7行(int a=1,b=2,c=3;)的变量c的作用域,如果改成int c;结果如何?
展开
展开全部
int a, b; 和 int a; int b;是一样的。 作用域的话你应该考虑这个变量是全局变量还是局部变量。比如下面这段程序,a和b的作用域就是main函数,而c的作用域就是add函数,只有当运行add函数时才从系统内申请内存给c然后c只在add函数内有效,当add函数执行完后就会释放c的内存。a和b是在main函数执行完后再释放。
如果不懂你把原题发给我我帮你看看。
#include <iostream>
using namespace std;
int main()
{
int a, b; // 等于 int a; int b;
a = 1;
b = 2;
int add(int v1, int v2)
{
int c;
c = v1 + v2;
cout << c << endl;
}
add(a,b)
return 0;
}
展开全部
int a,b;合法,int a;int b非法,因为b后少了分号。其余没有区别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没区别,只是写的字符多一点
追问
书上这样说:main函数第7行(int a=1,b=2,c=3;)的变量c的作用域,如果改成int c;结果如何?
追答
你说的是作用域问题,但是建议不要这么玩,累
最好在函数的开始就定义好所有的变量,
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样的声明都是一样的,但是,建议使用第二种,这样的代码的层次性,可读性更好。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没区别,只是后面的分开定义了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询