Программа не компилируется из-за неправильного приведения типов - C (СИ)
Формулировка задачи:
Приветствую всех!
Есть вот код ->
При компиляции выдает ->
Программа работает на половину как то :\
Просьба помочь привести к нужному типу.
Заранее благодарен.
#include <stdio.h> #include <time.h> void dump_time_struct_bytes(struct tm *time_ptr, int size){ int i; unsigned char *raw_ptr; printf("bytes of struct located at 0x%08x\n", time_ptr); raw_ptr = (unsigned char *) time_ptr; for (i=0; i < size; i++) { printf("%02x ", raw_ptr[i]); if (i%=16 == 15) printf("\n"); } printf("\n"); } int main(){ int seconds_since_epoch; struct tm current_time, *time_ptr; int hour, minute, second, i, *int_ptr; seconds_since_epoch = time(0); printf("time() - seconds since epoch %d\n", seconds_since_epoch); time_ptr= ¤t_time; localtime_r(&seconds_since_epoch, time_ptr); hour = current_time.tm_hour; minute = time_ptr->tm_min; second = *((int *) time_ptr); printf("Current time is: %02d:%02d:%02d\n", hour, minute, second); dump_time_struct_bytes(time_ptr, sizeof(struct tm)); minute = hour = 0; int_ptr = (int *) time_ptr; for(i=0;i<3;i++){ printf("int_ptr @ 0x%08x : %d\n", int_ptr, *int_ptr); int_ptr++; } }
root@bt:/home/udalite# gcc -o time_example2 time_example2.c time_example2.c: In function ‘dump_time_struct_bytes’: time_example2.c:8: warning: format ‘%08x’ expects type ‘unsigned int’, but argument 2 has type ‘struct tm *’ time_example2.c:13: warning: division by zero time_example2.c: In function ‘main’: time_example2.c:30: warning: passing argument 1 of ‘localtime_r’ from incompatible pointer type /usr/include/time.h:248: note: expected ‘const time_t * __restrict__’ but argument is of type ‘int *’ time_example2.c:44: warning: format ‘%08x’ expects type ‘unsigned int’, but argument 2 has type ‘int *’
Решение задачи: «Программа не компилируется из-за неправильного приведения типов»
textual
Листинг программы
if (i%15==0 && i)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д