多个同类型变量的赋值

来源:2-3 变量及赋值

时小七

2015-07-06 20:53

int a=1,b=1;

这种写法有问题吗

写回答 关注

2回答

  • Perona
    2015-07-06 21:15:30
    已采纳

    可以这么写。

    但是要注意的是这种写法其实就是逗号表达式。

    C语言提供一种特殊的运算符——逗号运算符。

    逗号运算符,优先级别最低,它将两式联接起来,如:(3+4,6+2)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值。

    举个栗子,

    #include <stdio.h>
    int main()
    {
        int a=1,b=5;   /*这里定义年龄*/
        int c=(a,b);
        printf("c的值是%d!\n", c);
        return 0;    
    }

    发现没有,运行出来的结果是表达式2的值,即b的值。

    Perona 回复时小七

    不客气

    2015-07-06 22:43:31

    共 4 条回复 >

  • onemoo
    2015-07-07 10:22:11

    你写的是合法的定义语句。C语言可以用逗号隔开来声明多个变量,但这种写法不是逗号表达式,这只是声明语法的一种形式。

    @Perona 回答中的第5行,等号的右侧才算是逗号表达式。

    onemoo 回复蒙蒙达

    是的,这一句定义了a和b两个变量,这与逗号表达式无关。

    2015-08-26 22:45:47

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926209 学习 · 20797 问题

查看课程

相似问题

变量的赋值

回答 4

变量赋值..

回答 1

变量赋值

回答 2

变量与赋值

回答 3