嗨如果初始化打印错误消息的函数,如果数组中的某些数字是相同的,我有问题。功能不初始化
#include<stdio.h>
#include<stdlib.h>
void printRepeating(int arr[], int size)
{
int i, j;
for(i = 0; i < size; i++)
for(j = i+1; j < size; j++)
if(arr[i] == arr[j])
printf("Wrong input. Same numbers in array!\n");
}
int main()
{
int arr[200],i;
int res, num;
while((res = scanf("%d", &num)) == 1)
{
arr[i++] = num;
if(num == 0){
break;
}
}
for(i = 0; i < arr[i]; i++)
printf("%d ", arr[i]);
printf("\n");
int arr_size = sizeof(arr[i])/sizeof(arr[0]);
printRepeating(arr, arr_size);
return 0;
}
如果我扫描1 2 3 1 4 5 0
,我的功能printRepeating
无法启动不过我有一个数组中,为什么相同的数字1 1
?另一个问题是,当我输入1 2 3 1 5 0
它只打印1 2 3
和例如我当我扫描1 2 3 4 5 6 7 8 9 0
它打印除0之外的所有数字。
问题是否解决?如果有答案,请将答案标记为已接受。 @blackroad – Jarvis