Вы можете хранить только одно число в g
.
Следовательно, p++;
здесь сделает p
точкой в недопустимом месте.
Вы должны выделить массив для хранения все входные значения.
Также обратите внимание, что вы должны использовать стандарт int main(void)
в размещенной среде вместо void main()
, что недопустимо в C89 и определяется реализацией в C99 или более поздней версии, если у вас нет особых причин для использовать нестандартную подпись.
#include<stdio.h>
int main(void)
{
int g[3] , *p;
int sum = 0;
int x=1;
for(int i=1; i<3; i++ )
{
scanf("%d ", &g[i]);
}
p = &g[1];
while( x < 3){
sum = sum + *p;
p++;
x++;
}
printf("\n sum = %d ",sum);
}