c - int a = (2, 3, 4, 5); & int a = {2, 3, 4, 5}; 这些语句在 C/C++ 中是如何工作的?
问题描述
我正在试验这个 C 代码:
#include <stdio.h>
int main()
{
int a = {6};
printf("%d", a);
return 0;
}
它打印 6。下面的代码也是如此:
#include <stdio.h>
int main()
{
int a = (6);
printf("%d", a);
return 0;
}
但是这段代码是如何生成输出的:
#include <stdio.h>
int main()
{
int a = (2, 3, 4, 5); // or {2, 3, 4, 5} in place of parenthesis
printf("%d", a--);
printf("%d", --a);
return 0;
}
它打印 53。为什么要考虑 int 变量a的最后一个值 5 (当它被括在括号中时)?另外,当 int 变量a括在花括号中时,为什么 2 呢?
解决方案
推荐阅读
- javascript - JavaScript:无法在 json 中从 API 添加字符串
- python - 我不能用 k 在 rand.randrange 中取多个值?
- windows - 使用 Visual Studio 2017 构建 MonoDevelop 7.6 时出现 CS1617 错误消息
- java - 如何从 mysql 中的特定列中获取 json 对象以进行以下查询
- javascript - 角度文档未定义
- regex - Google Apps 脚本:修复格式错误的管道分隔 csv 文件的 REGEX 运行速度太慢
- reactjs - 在 ReactJs 中编写组件
- python-3.x - 试图将灰度图像转换为二进制,希望任何人都可以帮助我
- php - SQL 未使用 PHP 插入
- php - php api中的异步函数