[Cи] if/case - C (СИ)

Узнай цену своей работы

Формулировка задачи:

не пойму что делаю не так
 char nastr[4];
   fscanf(fp,"%4s\n", &nastr); // считывает ся верно
 
   char d1[4]="dat1";
   char d2[4]="dat2";
   char t1[4]="tim1";
   char t2[4]="tim2";
   char st[4]="step";

   int m;
   if (nastr==d1) m=1;
   if (nastr==d2) m=2;
   if (nastr==t1) m=3;
   if (nastr==t2) m=4;
   if (nastr==st) m=5;
 
   printf("i=%d",m);  // m присваивается абсолютно не так, 4х значное число, что не так?
тоже самое через кейс, тоже не работает..
  switch (m)
   {
   case '1': fscanf(fp, "dat1 = %2d.%2d.%4d""\n", &day1, &month1, &year1);
   case '2': fscanf(fp, "dat2 = %2d.%2d.%4d""\n", &day2, &month2, &year2);
   case '3': fscanf(fp, "tim1 = %2d:%2d:%2d,%3d""\n", &hour1, &min1, &sec1, &msec1);
   case '4': fscanf(fp, "tim2 = %2d:%2d:%2d,%3d""\n", &hour2, &min2, &sec2, &msec2);
   case '5': fscanf(fp, "step = %d\n", &step);
   }

Решение задачи: «[Cи] if/case»

textual
Листинг программы
 fscanf(fp,"%4s\n", &nastr)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5