我用C和C++编程已经有几年了,现在我正在上一门大学课程,我们的书中有一个这样的函数作为例子:

int foo(){
  int x=0;
  int y=20;
  return x,y; //y is always returned
}

我从来没有见过这样的语法.事实上,我从未见过在参数列表之外使用,运算符.如果总是返回y,那么有什么意义呢?是否存在需要像这样创建返回语句的情况?

(此外,我还为C添加了标签,因为它适用于这两种语言,尽管我的书特别是C++)

推荐答案

逗号运算符主要用于for条语句中,如下所示:

for( int i=0, j=10; i<10; i++, j++ )
{
    a[i] = b[j];
}

第一个逗号不是逗号操作符,它是声明语法的一部分.第二个is是逗号运算符.

C++相关问答推荐

单指针和空参数列表之间的函数指针兼容性

我在这里正确地解释了C操作顺序吗?

文件权限为0666,但即使以超级用户身份也无法打开

解决S随机内存分配问题,实现跨进程高效数据共享

将返回的char*设置为S在函数中定义的字符串文字可能会产生什么问题?

-Wnonnull-Compare警告不是具有误导性吗?

试图创建一个基本的Word克隆,但遇到了障碍

C语言中MPI发送接收字符串时出现的分段错误

链表删除 node 错误

如何对现有的双向循环链表进行排序?

对于STM32微控制器,全局偏移表.get和.Got.plt必须为零初始化

C中的char**v*char[]

传递给函数的 struct 中的数组

如何编写postgresql支持函数

将size_t分配给off_t会产生符号转换错误

访问未对齐联合的成员是否为未定义行为,即使被访问的成员已充分对齐?

在列表中查找素数

macos/arm64 上地址空间不使用第一位吗?

malloc 属性不带参数

为什么需要struct in_addr