【发布时间】:2021-11-12 00:13:54
【问题描述】:
#include <stdio.h>
int removeduplicates(int arr[],int n){
int j=0;
int temp[15];
if(n==0 || n==1){
return n;
}
for(int i=0;i<n-1;i++){
if(arr[i]!=arr[i+1]){
temp[j++]=arr[i];
}
temp[j++]=arr[n-1];
}
for(int i=0;i<j;i++){
arr[i]=temp[i];
}
return j;
}
int main(){
int n;
int num[];
num[]= {1,2,3,3,4,4,5,5,5};
n= sizeof(num)/sizeof(num[0]);
n=removeduplicates(num,n);
printf("%d",n);
return 0;
}
在这个问题中,我正在编写一个代码来从排序数组中删除重复项。但是,尽管我定义了数组大小并且虽然我提供了数组大小,但我收到了以下错误。
main.c:36:9: error: array size missing in ‘num’
int num[];
^~~
main.c:37:9: error: expected expression before ‘]’ token
num[]= {1,2,3,3,4,4,5,5,5};
【问题讨论】:
-
您不能只是猜测语法或尝试通过反复试验来学习它。您需要实际学习初级 C 书籍中有关数组的章节。
标签: arrays c declaration function-definition