Article ID: 195376
Article Last Modified on 7/5/2005
//compiler options : cl /Og /Oa (or /Ow)
#include <stdio.h>
typedef struct C
{
float x,y,z;
long index;
}C;
float gdIn[3]={1.0,2.0,3.0};
void init(C *gc)
{
float fd[3]={1.0,2.0,3.0};
long i = gc->index;
float *pfd = gdIn;
gc->x = *(pfd+0);
gc->y = *(pfd+i);
gc->z = *(pfd+i*2);
}
int main()
{
C c;
c.index = 1;
init(&c);
printf("Should be 3.0, is %f \n", c.z);
return 0;
}
The program output should be: 3.0.
Keywords: kbbug kbfix kbcompiler kbvs600sp3fix KB195376