*(o+1)=10+i;这个语句,一直在给o+1赋值for(i=0;i<10;i++)scanf("%d",o++);for(i=0;i<10;i++,o++)printf("%d",*o);这样是可以的
你在赋值的时候, 一直在给 o+1 赋值, 所以你的输出只有下标是1的地方有值, 其他全是野指针.赋值可以这样
for(int i =0; i < 10; i++) { *(o+i) = 10; // 为每一位赋值 }