Я испытываю необычное поведение вывода при изменении диапазона массива y [].
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char x[50];
int y[50];
fgets(x, 50, stdin);
for (int i; i<50; i++){
printf("%c", x[i]);
}
printf("DONE\n");
return 0;
}
Чтобы проверить программу, я вводил '10 10 10', и я ожидаю, чтоввод должен быть распечатан программой, за которым следует оператор «DONE».
Однако код выводил «10 10 10» с помощью «?DONE' , '
; DONE» или другого варианта специальных символов..
Если я закомментирую 'int y [50]', он полностью пропустит цикл for.
Исходя из фона python / swift / java, я понятия не имею, что происходит и почемумассив 'y' вызывает ошибки, когда я даже не использую его.Может быть, это просто потому, что я новичок в c, но я даже не знаю, как описать проблему (отсюда и дрянное название)
ПРИМЕЧАНИЕ * Есть точка в массиве 'y', но я удалил ее изпрограмма для простоты, пытаясь устранить проблему.