Почему это работает - C (СИ)

  1. вот код, почему он работает?C1 2 3 4 5 printf("k");;     ;;;;;;;;;;;    printf("k");;       ;;     ;;P.S. мой компилятор MinGW


textual

Код:

for(i = 0; some[i] != NULL; i++);


Похожие ответы
  1. Назначение: вычисляет десятичное значение целого числа по заданной строке символов s, который является записью этого числа в двоичной системе счисления. Постановка задачи В соответствии с вариантом задания составить функцию для обработки символьных строк и программу для проверки работоспособности функции. За образец можно брать библиотечные функции обработки строк языка С, но не использовать их в своей функции. При выполнении 1-го задания необходимо: 1. Строки для тестирования функции вводить в главной программе с клавиатуры. 2. Предусмотреть обработку ошибок в задании параметров и особые случаи. 3. Разработать два варианта заданной функции с использованием: а) индексированных массивов; б) указателей.

  1. C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 /*Используя два указателя на массив целых чисел, скопировать один массив в другой.  Использовать в программе арифметику указателей для продвижения по массиву,  а также оператор разыменования.*/   #include #include   #define SIZE  5   int mass[SIZE] = {1,2,3,4,5}; int copyMass[SIZE];   void zamenaMass (int *mass,int *copyMass, int length);   int main() {     printf("Array:%c\n", mass[SIZE]);       zamenaMass( &mass[SIZE], ©Mass[SIZE], SIZE);   }     void zamenaMass (int *mass,int *copyMass, int length) {     for (int i = 0; i < length; ++i)     {         *(mass + 1) = *(copyMass + 1);         printf("Copied array :%c\n", (unsigned char) (*copyMass + i));     } }

  1. Ну собственно вся проблема описана в заголовке...C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include #define count 200 int main () {     int i = 0, x=0,y;     struct worker_type     {         char name [count];         char position [count];         int year, salary;     };         worker_type workers [1000];     for (;;){         scanf ("%d", &y);         switch (y){             case 1:                 printf ("vvod imeni: ");                 gets (workers[1].name);                 printf ("\n vvod doljnosti: ");                 gets (workers[1].position);                 printf ("\n god: ");                 scanf_s("%i", &workers[1].year);                 printf ("\n zp: ");                 scanf_s("%i", &workers[1].salary);                 break;         }//switch     }//for }//main

  1. В файле содержится список: Ivanov/1998 Sidorov/1990 Nekrasov/1991Нужно найти самого молодого и вывести его фамилию. При запуске выходит "Прекращена работа программы" Dev C++C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include #include #include #include int main() { char *s,*temp,str[80],*fam,*syear; FILE *in; in=fopen("C:/data/students.dat","r"); while (fgets(str,80,in))       {         temp=strstr(s,"/");         *temp=0;              syear="1900";         if      (strcmp(syear,temp+1)>0)         {             strcpy(fam,str);             strcpy(syear,temp+1);         }     } printf("Samiy molodoy\n%s",fam); getch(); }

  1. // Посчитать сколько букв "А" в строке #include #include void main() { char c; int k; printf ("Vvedite text:"); c=getchar(); putchar(c); k=0; while (c!=EOF) { if ((c=='A')&&(c=='a'))&&((c=='А')&&(c=='а')) k++; } printf ("Rezultat: \n"); printf ("%d", k); _getch(); }

  1. C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include   main() {     unsigned long ip_host, mask, ip_d;     system("cls");     ip_host = 0x3C9F4D57;     mask = 0xFFFFFF00;     scanf("%X", &ip_d);     if ((ip_host & mask) == (ip_d & mask))     {         printf("\n NET is correct");         mask = ~mask;         if ((ip_host & mask) == (ip_d & mask))         {             printf("\n HOST is correct");         }         else         {             printf("\n OPANA, OSHIBOCHKA");         }     }     else     {         printf("\n NEPOLUCITSA");     } }

  1. Ввести число, вывести все делители этого числа (на си)

  1. У меня есть две структуры, с одинаковым кол-вом полей, но поля разного типа:C1 2 3 4 5 6 7 8 9 10 11 12 13 struct hat {     char s1[20], s2[20], s3[20] ; } shapka;   typedef struct monopolies {     char name[40];     int year;     float capital;   }monopolies; monopolies monopoly; //создаю тут структуру типа monopoliesЕсть функция для обработки "шапки": ( если что, это считывание шапки таблицы из файла, но это не важно)C1 2 3 4 5 6 7 8 9 10 11 void Read_Shapka_File(FILE *f, struct hat *shapka) //как вы видите, отдаю в ф-ию указатель на структуру типа hat {     if (fscanf(f, "%s%s%s", shapka->s1, shapka->s2, shapka->s3)!=EOF)     {         printf("%-20s %15s %20s\n\n", shapka->s1, shapka->s2, shapka->s3);     }     else     {         exit(ERROR_READING_FILE);     } }...И совершенно другая, отдельная ф-ия, в которую я отдаю указатель на вторую структуру.C1 void Job1_Two_Files(char* putInp, monopolies *monopoly)В этой ф-ии я вызываю ф-ию Read_Shapka_File, но отдаю ей указатель на другую структуру, не ту, что положено:C1 Read_Shapka_File(inp, monopoly);. Мало того что компилятор не ругается, но программа работает и выводит-таки эту "шапку". КАК??? Если это из-за указателей в обеих ф-иях, это не объясняет, почему нет конфликта типов. Скидываю программу, постарался удалить все, что не относится к данной проблеме

  1. Задается массив, рандомный из 10 чисел в диапазоне от -20 до 20.Найти среди его чисел, такое в котором есть цифра 3 и напечатать это число. Написал программу, что надо изменить что бы правильно работала.C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 int d,i,b;     for(i=1;i

  1. Нужно чтобы программа вставляла в текст пробелы. но вместо них она у меня вставляет $. пробовал и через putchar(" ") и putchar("\t") - одно и тоже. как правильно выводить пробел на си?