zhumengyun 发表于 2014-11-11 09:47:08

printf输出问题

#include<stdio.h>
struct ks
{
        int a;
        int *b;
}s,*p;
main()
{
        int n=1,i;
        for(i=0;i<4;i++)
        {
                s.a=n;
                s.b=&s.a;
                n=n+2;
        }
        p=&s,p++;
        printf("%d%d",(++p)->a,(p++)->a);

}结果是5,3(vc6.0)
我知道printf输出时是从右往左计算,所以知道为什么是3 ,但不知道为什么是5,觉得应该是7,3

calton007 发表于 2014-11-12 02:19:50

for循环内应该是s.a=n;s.b=&s.a;

我用vs2013编译运行结果是7,3

编译器问题,请不要纠结

zhumengyun 发表于 2014-11-12 09:27:31

谢谢回复,我只是害怕笔试的时候不知道填那个是对的
页: [1]
查看完整版本: printf输出问题