Код: Выделить всё
#include <stdio.h>
#include "247.c"
int main () {
int sdvig (int b [5], int c [47]);
int b [5]= {81, 53, 82, 123, 133};
int f [5]= {82, 123, 133};
int c [47];
printf ("f [0]= %d f [0]= %d f [0]= %d\n", f [0], f [1], f [2]);
sdvig (b, c);
printf ("f [0]= %d f [0]= %d f [0]= %d\n", f [0], f [1], f [2]);
return 0;
}
Вот функция sdvig (b, c) это моя рабочая, так сказать функция, она определена у меня в файле 247.c, который я подключил. Работает без нареканий. Но! Упорно меняет значение элемента f [0], который не имеет к ней никакого отношения! Я не зря показал вам, что вызываю функцию printf. После первого вызова printf () на экране- значения f [0], f [1] и f [2]. Всё как положено. 82, 123 и 133 соответственно. А после вызова функции sdvig (b, c) значение f [0] становится равным 21. Что это? Это как-то даже нехорошо!
...Помогает, что очень странно, вот это. Вот меняем местами определения массивов f и c
Код: Выделить всё
int c [47];
int f [5]= {82, 123, 133};
Теперь всё в порядке. Значение элемента f [0] как было 82 до вызова sdvig (b, c), так им и остаётся. Всё это очень-очень странно, друзья! Не разъясните ли вы мне ситуацию? Ваш promov