为了账号安全,请及时绑定邮箱和手机立即绑定

多个同类型变量的赋值

int a=1,b=1;

这种写法有问题吗

正在回答

2 回答

可以这么写。

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

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的值。

2 回复 有任何疑惑可以回复我~
#1

Perona

晕~~居然把main前面的int给吞了,你自己加上吧
2015-07-06 回复 有任何疑惑可以回复我~
#2

时小七 提问者 回复 Perona

谢谢(●'◡'●)。
2015-07-06 回复 有任何疑惑可以回复我~
#3

时小七 提问者

非常感谢!
2015-07-06 回复 有任何疑惑可以回复我~
#4

Perona 回复 时小七 提问者

不客气
2015-07-06 回复 有任何疑惑可以回复我~
查看1条回复

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

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

0 回复 有任何疑惑可以回复我~
#1

蒙蒙达

所以, int a=1,b=2; 这个语句只是在做“声明a和b这两个变量然后分别赋值”这份工作?
2015-08-26 回复 有任何疑惑可以回复我~
#2

onemoo 回复 蒙蒙达

是的,这一句定义了a和b两个变量,这与逗号表达式无关。
2015-08-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

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

进入课程

多个同类型变量的赋值

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信