код работает до тех пор, пока не достигнет инструкции:код врезается в PRINTF заявлении
printf("%d", sumOccur(input));
Код:
#include <stdio.h>
#include <stdlib.h>
int sumOccur(int A[]);
int main(){
int input[6] = {1,1,1,2,2,3};
printf("%d", sumOccur(input));
return 0;
}
int sumOccur(int A[]) {
int sum, i;
while(A[i]!='\0'){
sum += A[i];
i++;
}
return sum;
}
Если бы я сделал какие-то глупые ошибки, пожалуйста, обязывать.
Ваша непосредственная проблема заключается в том, что 'i' является неинициализированными, когда вы используете его для индекса массива. Но код имеет больше проблем ... – pmg
Сравнение int с нулевым символом не кажется очень разумным в любом случае. –
@TomTanner Вероятно, что OP видел аналогичную реализацию 'strlen()' или что-то еще, я не знаю, почему, если вы исходите из языка программирования высокого уровня, вы всегда хотите избежать передачи длины массива. –