【发布时间】:2014-10-24 19:00:14
【问题描述】:
我想制作一个程序,它使用我创建的函数,它将数组 X(长度为 N)的所有元素与某个数字 K 交换,前提是该元素大于 K。我在哪里这里出了什么问题?
#include <stdio.h>
#include <stdlib.h>
int swap_K(int *, int);
int main()
{
int N,i,K;
printf("Enter N: ");
scanf("%d",&N);
printf("Enter K: ");
scanf("%d",&K);
int X[N];
for (i=1; i<=sizeof(X)/sizeof(int); i++){
printf("Enter %d. element: ",i);
scanf("%d",&X[i]);
}
swap_K(X,K);
for (i=1; i<=sizeof(X)/sizeof(int); i++){
printf("%d",X[i]);
}
}
int swap_K(int *X, int K)
{
int i;
for (i=1; i<=sizeof(X)/sizeof(int); i++){
if (X[i]>K)
X[i]=K;
}
return X;
}
【问题讨论】:
-
C scanf() problem 的可能重复项
-
您遇到了什么具体错误?数组也从 0 开始。
-
没有得到任何错误,编译得很好,但它只改变了数组的第一个元素。此外,将 i 从 1 更改为 0,并将“
标签: c