c - 为什么这段代码在 Mac OS 和 Linux 中执行不同?
问题描述
我遇到了以下代码问题。当我在 Mac 中运行此代码时,我得到的输出为 1 2。但是,在 Linux 命令行上,输出为 2 2。谁能解释为什么会发生这种情况?
struct point
{
int x,y;
};
void foo(struct point p[])
{
printf("%d %d", p->x, ++p->x);
}
int main()
{
struct point p1[ ] = {1, 2, 3, 4};
foo(p1);
return 0;
}
解决方案
推荐阅读
- python - 使用列表推导替换嵌套的 for 循环
- python - 输入层和第一个 LSTM 层的 Keras 功能 API 问题
- sql-server - 对连接管理器 PostgreSQL30.app_user 的 AcquireConnection 方法调用失败,错误代码为 0xC0014009
- django - Django Heroku raise ValueError("Missing staticfiles manifest entry for '%s'" % clean_name)
- css - 将文本放置在图像上,使其始终指向图像中的同一位置,即使在调整浏览器大小时也是如此
- function - 计算两个时间戳之间的工作日
- python - PyInstaller: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in position 112: invalid start byte
- python - 使用不同格式的另一个 df 为 df 赋值
- swift - SwiftUI Word Wrap 用于多行文本 Word 断字问题
- .net - 使用 ReportViewer 在表单上显示的组合项