【发布时间】:2019-01-13 11:45:59
【问题描述】:
代码sn-p:
#include <stdio.h>
int computeSum(int number1, int number2) {
int sum;
sum = number1 + number2;
return sum;
}
int main()
{
int sum = 0,k=0;
k,sum= computeSum(4,2);
printf("%d %d",sum,k);
return 0;
}
k 之间的逗号 ( , ) 有什么作用 总而言之,为什么它不会引起任何错误?它的意义是什么?
【问题讨论】:
-
只是语法错误。你想达到什么目的?
-
@DenisSablukov 为什么你认为这是错误的?我认为这只是分隔两个表达式的逗号运算符。左边的表达式只是
k,右边的表达式是(仅)求和的赋值。 (特别是,没有分配给k)。 -
@DenisSablukov "逗号运算符的左操作数被计算为 void 表达式;在它的计算和右操作数的计算之间有一个序列点。然后计算右操作数;结果有它的类型和价值。” (来自 n1570 草案,6.5.17)
-
@PeterA.Schneider 我的错。不知道..