#include void foo(int *p); //////////////////////////////////////////// int main() { int nArr[10] = { 2, 0, 4, 77}; int nAr [10] = {12, 10, 34, 71117}; foo(nArr); foo(nAr ); } //////////////////////////////////////////// void foo(int *p) { for(int i = 0; i < 10; i++) { printf("%d, ", p[i]); } printf(" \n"); } /* #include void foo(int*); //////////////////////////////////////////// int main() { int nArr[10] = {2, 0, 4, 77}; foo(&nArr[0]); } //////////////////////////////////////////// void foo(int *p) { for(int i = 0; i < 10; i++) { printf(" = %d\n", p[i]); } } */ /* #include //////////////////////////////////////////// int main() { int n3 = 87; int *p; printf("address of n3 = %d\n", &n3); p = &n3; printf(" p = %d\n", p); printf("*p = %d\n", *p); } */ /* #include //////////////////////////////////////////// int main() { __int8 n = 123; __int32 n2 = 4444; int n3 ; printf("size of n2 = %d\n", sizeof(int) ); } */ /* #include //////////////////////////////////////////// printf("++++ cn = %d \n", cn); int main() { unsigned __int8 cn = 'S'; int i = 1; L_01: printf("cn = %c = %d\n", cn, cn); cn ++; i ++; if( i < 12 ) goto L_01; } */ /* #include //////////////////////////////////////////// printf("++++ cn = %d \n", cn); int main() { unsigned __int8 cn = 250; int i = 1; L_01: printf("cn = %4d \n", cn); cn ++; i ++; if( i < 12 ) goto L_01; } */ /* Задание: 1) Создайте переменную char cn = 123; 2) В цикле печатайте её содержимое (как число %d) и каждый раз увеличивайте на 1 3) На какой по счёту итерации цикла значение переменной cn резко изменит своё значение? И почему? */ /* #include //////////////////////////////////////////// int main() { char cn = 123; int i = 1; L_01: printf("cn = %d \n", cn); cn ++; i ++; if( i < 12 ) goto L_01; } */ /* #include //////////////////////////////////////////// int main() { char cn = 123; int i = 1; L_01: printf("cn = %d \n", cn); cn ++; i ++; if( cn == -120 ) goto L_02; else goto L_01; L_02: return 0; } */ /* ответ на вопрос:return 0; уже на пятом цикле значение переменной резко принимает отрицательное значение. хотя программа ПРИБАВЛЯЕТ единицу и больше ничего. Цифры идут по убыванию (более подробно можно рассмотреть если поменять условие i < n, где n число принимающее любое значение) собственно, вся фишка в том, что тиип char обычно занимает 1 байт (8 бит), что позволяет хранить числа от -128 до 127 (прочла в интернете). Вот и вся магия когда мы выходим за пределы значения то компилятор просто прогоняет это число обратно, начиная с меньшего -128 и прибавляя к нему единицу до следующего числа 127. и так покругу :) скорее всего в этом и причина но почему это происходит именно в формате %d - я без понятия. */