LINUX.ORG.RU

Сообщения p228

 

Ошибка icc или во мне ошибка?

Форум — Development

Задача: считать из файла дату в формате dd.mm.yyyy и разобрать её по частям. Есть такой код:

#include <stdio.h>

int dd, dm, dy, i;
char s[32], d[5];
FILE *file;

int main() {

  file = fopen("d.txt", "r");

  for(i=0; i<5; i++) {

    fgets(s, 30, file);

    d[0]=s[0];
    d[1]=s[1];
    d[2]=0;
    dd=atoi(d);

    d[0]=s[3];
    d[1]=s[4];
    d[2]=0;
    dm=atoi(d);

    d[0]=s[6];
    d[1]=s[7];
    d[2]=s[8];
    d[3]=s[9];
    d[4]=0;
    dy=atoi(d);

    printf("%i %i %i %s", dd, dm, dy, s);

  }

  fclose(file);

}
Если компилировать его с опцией O1, то всё ОК:
1 9 1995 01.09.1995
4 9 1995 04.09.1995
5 9 1995 05.09.1995
6 9 1995 06.09.1995
7 9 1995 07.09.1995
А если поставить O2 или O3, то фигня:
0 9 1995 01.09.1995
995 9 1995 04.09.1995
995 9 1995 05.09.1995
995 9 1995 06.09.1995
995 9 1995 07.09.1995
Скажите, это я нубло или Интел тупит??

 ,

p228
()

RSS подписка на новые темы