求大佬帮忙分析下是编译器问题,还是代码哪里的问题
codeblocks吧
全部回复
仅看楼主
level 1
俊岚天红 楼主
预期应该是打印6的呢,结果我这边死活就是打印1,好尴尬
#include <stdio.h>int func(int iCount, ...)
{
int sum = 0;
int *pstr = &iCount;
for(int i = 0; i < iCount; i++)
{
sum += *(pstr + 1 + i);
}
return sum;
}void main()
{
printf("%d\r\n", func(3, 1, 2, 3));
//return 0;
}
2020年05月24日 01点05分 1
level 1
俊岚天红 楼主
求大佬指正~[不高兴]
2020年05月24日 01点05分 2
level 1
俊岚天红 楼主
通过朋友讲解,在进行指针定义类型的时候,没有考虑到64位机器的问题,所以我就把pstr定义成size_t*类型,这样的话就没问题了
2020年05月24日 03点05分 4
1