c语言,int a,b;和int a;int b有什么不同

书上这样说: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;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-14
int a,b;合法,int a;int b非法,因为b后少了分号。其余没有区别。
第2个回答  2011-11-24
没区别,只是写的字符多一点追问

书上这样说:main函数第7行(int a=1,b=2,c=3;)的变量c的作用域,如果改成int c;结果如何?

追答

你说的是作用域问题,但是建议不要这么玩,累
最好在函数的开始就定义好所有的变量,

本回答被提问者采纳
第3个回答  推荐于2018-04-15
这样的声明都是一样的,但是,建议使用第二种,这样的代码的层次性,可读性更好。本回答被网友采纳
第4个回答  2011-11-24
没区别,只是后面的分开定义了