函数C错误,类型和分段错误内核转储不兼容 嘿,所以我试着编一个短语,把一个词放在中间,代码 #include <stdio.h> #define N 5 void Inserir(float A[N], int x, float palavra) { int i; for (i=N;i>x;i--){ A[i]=A[i-1]; } A[x]=palavra; for (i=0;i<=N;i++){ printf("A[i] "); } } void main () { int i, x; float frase[N]; float palavra; printf("frase? "); for(i=0;i<N;i++){ printf("palavra %d: ",i); scanf("%f",&frase[i]); } printf("lugar da palavra nova? "); scanf("%d",&x); printf("palava nova? "); scanf("%f",&palavra); Inserir(frase[N],x, palavra); } #包括 #定义n5 虚空插入(浮动A[N],整数x,浮动palavra){ int i; 对于(i=N;i>x;i--){ A[i]=A[i-1]; } A[x]=帕拉夫拉; 对于(i=0;i
你越界了。你的数组函数C错误,类型和分段错误内核转储不兼容 嘿,所以我试着编一个短语,把一个词放在中间,代码 #include <stdio.h> #define N 5 void Inserir(float A[N], int x, float palavra) { int i; for (i=N;i>x;i--){ A[i]=A[i-1]; } A[x]=palavra; for (i=0;i<=N;i++){ printf("A[i] "); } } void main () { int i, x; float frase[N]; float palavra; printf("frase? "); for(i=0;i<N;i++){ printf("palavra %d: ",i); scanf("%f",&frase[i]); } printf("lugar da palavra nova? "); scanf("%d",&x); printf("palava nova? "); scanf("%f",&palavra); Inserir(frase[N],x, palavra); } #包括 #定义n5 虚空插入(浮动A[N],整数x,浮动palavra){ int i; 对于(i=N;i>x;i--){ A[i]=A[i-1]; } A[x]=帕拉夫拉; 对于(i=0;i,c,codeblocks,C,Codeblocks,你越界了。你的数组A的长度为N,因此你的元素有索引0,1…N-1。除此之外,要打印浮点数,你必须熟练调用print void Inserir(float A[N], int x, float palavra) { int i; for (i=N-1;i>x;i--){ // <- N-1 A[i]=A[i-1]; } A[x]=palavra; for (i=0;i<N;i++){ // <- i<N
A
的长度为N
,因此你的元素有索引0,1…N-1。除此之外,要打印浮点数,你必须熟练调用print
void Inserir(float A[N], int x, float palavra) {
int i;
for (i=N-1;i>x;i--){ // <- N-1
A[i]=A[i-1];
}
A[x]=palavra;
for (i=0;i<N;i++){ // <- i<N
printf( "%f", A[i] );
}
}
你越界了。你的数组A
的长度为N
,因此你的元素有索引0、1…N-1。除此之外,要打印一个float
数字,你必须熟练调用print
void Inserir(float A[N], int x, float palavra) {
int i;
for (i=N-1;i>x;i--){ // <- N-1
A[i]=A[i-1];
}
A[x]=palavra;
for (i=0;i<N;i++){ // <- i<N
printf( "%f", A[i] );
}
}
提问时请正确设置代码格式。Inserir(frase[N],
-->Inserir(frase,
。也i=N
-->i=N-1
,ii@BLUEPIXY接得好。投票以键入错误的方式结束。@dasblinkenlight我不认为这是一个键入错误。OP明确提到了这一行,我认为对如何传递数组存在误解。请在提问时正确设置代码格式。Inserir(frase[N],
-->Inserir(frase,
。还有i=N
-->i=N-1
,ii@BLUEPIXY接得好。投票以键入错误结束。@dasblinkenlight我不认为这是键入错误。OP明确提到了这一行,我认为对如何传递数组存在误解。