Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Компилятор ругается на простенькую программу на С.  (Прочитано 1679 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн a10nan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 78
  • Неофит
    • Просмотр профиля
Компилятор матерится на простенькую программу на С, что не так ума не приложу.
Вот исошник:
#include <stdio.h>
#include <time.h>

int main (void)
{
time_t nt = time (null);
printf ("%s", ctime (&nt));
return 0;
}

а вот вывод из терминала:
a10nan@n00b:~$ gcc myclock.c
myclock.c: In function ‘main’:
myclock.c:6: error: ‘null’ undeclared (first use in this function)
myclock.c:6: error: (Each undeclared identifier is reported only once
myclock.c:6: error: for each function it appears in.)
Errare humanum est.

Asus S56CB-XO046H (Ubuntu 14.04)

Оффлайн axe

  • Старожил
  • *
  • Сообщений: 1203
    • Просмотр профиля
null - это ты что-то из Java/C#/Javascript придумал. Нету такого слова в си. О чем тебе компилятор и сообщил.

Оффлайн digiwhite

  • Активист
  • *
  • Сообщений: 732
  • http://www.welinux.ru
    • Просмотр профиля
    • http://www.welinux.ru
Но есть макроопределение NULL .
Социальная сеть не фанатично настроенных Linuxойдов - http://www.welinux.ru

Оффлайн zilog82

  • Активист
  • *
  • Сообщений: 420
  • Hello, World!!!
    • Просмотр профиля
повторяем:
myclock.c:6: error: ‘null’ undeclared (first use in this function)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Чтобы было понятно (у меня gcc говорит по русски.

al@ubuntu-desktop1:~/Desktop/Programming/C/time$ cat ./time.c
#include <stdio.h>
#include <time.h>

int main (void)
{
   time_t nt = time (null);
   printf ("%s", ctime (&nt));
   return 0;
}
al@ubuntu-desktop1:~/Desktop/Programming/C/time$ gcc time.c
time.c: В функции ‘main’:
time.c:6: ошибка: ‘null’ не описан (первое использование в этой функции)
time.c:6: ошибка: (Сообщение о неописанном идентификаторе выдается один раз
time.c:6: ошибка: для каждой функции, в которой он используется.)
al@ubuntu-desktop1:~/Desktop/Programming/C/time$ cat ./time.c
#include <stdio.h>
#include <time.h>

int main (void)
{
   time_t nt = time (NULL);
   printf ("%s", ctime (&nt));
   return 0;
}
al@ubuntu-desktop1:~/Desktop/Programming/C/time$ gcc time.c
al@ubuntu-desktop1:~/Desktop/Programming/C/time$ ./a.out
Thu Jul 30 08:19:09 2009
al@ubuntu-desktop1:~/Desktop/Programming/C/time$


Пользователь решил продолжить мысль 30 Июля 2009, 08:27:13:
Можно так.
al@ubuntu-desktop1:~/Desktop/Programming/C/time$ cat ./time.c
#include <stdio.h>
#include <time.h>
#define null NULL
int main (void)
{
   time_t nt = time (null);
   printf ("%s", ctime (&nt));
   return 0;
}
al@ubuntu-desktop1:~/Desktop/Programming/C/time$ gcc time.c
al@ubuntu-desktop1:~/Desktop/Programming/C/time$ ./a.out
Thu Jul 30 08:30:46 2009
al@ubuntu-desktop1:~/Desktop/Programming/C/time$

« Последнее редактирование: 30 Июля 2009, 08:27:13 от alexander.pronin »

Оффлайн digiwhite

  • Активист
  • *
  • Сообщений: 732
  • http://www.welinux.ru
    • Просмотр профиля
    • http://www.welinux.ru
Определять null-ИМХО не очень хороший пример.
Социальная сеть не фанатично настроенных Linuxойдов - http://www.welinux.ru

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Согласен. Но это как пример подойдет.

Оффлайн Vir0id

  • Участник
  • *
  • Сообщений: 245
  • Выкини комп из окна или окна из компа
    • Просмотр профиля
Как пример пойдёт и вот так:
#include <stdio.h>
#include <time.h>

int main ()
{
   time_t nt = time (NULL);
   printf ("%s", ctime (&nt));
   return 0;
}

 

Страница сгенерирована за 0.019 секунд. Запросов: 22.