沙包毛玉 发表于 2021-6-3 17:13:09

结构体求助

下午做题做到的,按理论来说下面代码最终答案应该是3557,但不知道为什么我输出的是5533,我室友输出的7737 请问诸位有什么头绪吗

#include<stdio.h>
#include<stdlib.h>

struct ks
{
        int a;
        int *b;
}s,*p;

int main()
{
        int n =1,i;
        printf("\n");
        for(i = 0; i < 4; i++)
        {
                s.a = n;
                s.b = &s.a;
                n += 2;
        }

        p = &s;
        p++;
        printf("%d,%d,%d,%d\n",p->a,(++p)->a,(p++)->a,p->a);
        return 0;
}

人造人 发表于 2021-6-3 18:35:43

这类 ++,-- 问题是没有标准答案的
不同的环境不同的结果
“我输出的是5533,我室友输出的7737”
完全是正常现象

万千只cnm 发表于 2021-6-3 18:53:06

纠结这个没啥意义
编译器不同吧
页: [1]
查看完整版本: 结构体求助