int g1,g2,g3,g4;
scanf("%d %d %d %d", &g1, &g2, &g3, &g4);
g[0] = g1;
g[1] = g2;
g[2] = g3;
g[4] = g4;
无论出于何种原因 g[4] 未注册。我不完全确定问题是什么,有人有什么意见吗?
我认为您的意思是设置g[3] = g4
而不是g[4] = g4
. 如果您的数组大小为 4 ,那么最后一个元素将位于索引3处。
请确保声明了数组“g”并且它的大小为 5。这将分配可由数组索引 0、1、2、3 和 4 访问的内存。根据以下代码,g[3] 从未使用过但已分配内存。
假设您使用的是整数数组,下面是可以正常工作的语法:
int g[5];
int g1,g2,g3,g4l;
scanf("%d %d %d %d", &g1, &g2, &g3, &g4);
g[0] = g1;
g[1] = g2;
g[2] = g3;
g[4] = g4;
谢谢
#include<stdio.h>
main(){
int g1,g2,g3,g4,g[4];
scanf("%d %d %d %d", &g1, &g2, &g3, &g4);
g[0] = g1;
g[1] = g2;
g[2] = g3;
g[3] = g4;
printf("%d\t%d\t%d\t%d",g[0],g[1],g[2],g[3]);
return 0;
}