C/C++ 中逗号运算符的问题?
C/C++ 编程语言中的逗号运算符有两个上下文 -
作为分隔符 -
作为运算符 - 逗号运算符 { , } 是一个二进制运算符,用于丢弃第一个表达式(经过求值),然后使用第二个表达式的值。此运算符优先级最低。
考虑以下代码,并猜测输出 -
示例
#include <stdio.h>
int main(void) {
char ch = 'a', 'b', 'c';
printf("%c", ch);
return 0;
}输出
它会引发错误,因为它作为分隔符工作。
prog.c: In function ‘main’: prog.c:5:20: error: expected identifier or ‘(’ before 'b' char ch = 'a', 'b', 'c'; ^~~
示例
#include <stdio.h>
int main(void) {
char ch;
ch = 'a','b','c';
printf("%c", ch);
return 0;
}输出
它会输出 a,因为它在工作,因为“,” 作为运算符工作,但它的优先级低于赋值运算符,因此输出为 a。
a
示例
#include <stdio.h>
int f1() {
return 43;
}
int f2() {
return 123 ;
}
int main(void) {
int a;
a = (f1() , f2());
printf("%d", a);
return 0;
}输出
它会输出 123,因为“,” 作为运算符工作,并且在大括号中,它会工作并求值第二个表达式并给出输出。
123
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP