2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Прроблема с типом long long в С
Сообщение05.11.2009, 16:47 
Аватара пользователя


14/08/09
1140
Вот простейшая програмка, не печатает, что надо. Компилятор под винду вроде достаточно новый. (Dev-c++ 4.9.9.2)Может кто-нибудь попробует её у себя?
Используется синтаксис C
#include<stdio.h>
int main(void)
{
    long long n;
    printf("Enter n:");
    // ввод: 10.123.456.789
    scanf("%d",&n);
   
    printf("%d\n",n);
    //вывод: 1.533.522.197
    system("PAUSE");
return 0;    
}

 Профиль  
                  
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 16:50 
Заслуженный участник


09/08/09
3438
С.Петербург
А формат "%ld" не пробовали (и при вводе, и при выводе)?

 Профиль  
                  
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 16:59 
Аватара пользователя


14/08/09
1140
Maslov в сообщении #258625 писал(а):
А формат "%ld" не пробовали (и при вводе, и при выводе)?

Пробовал. Результат - тот же. Я тоже думал, что проблема с кодификатором (так, кажется называется).
Help смотрел. Там описаны только базовые типы. Однако sizeof(long long)==8. Значит, место есть...

 Профиль  
                  
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 16:59 
Заслуженный участник


09/08/09
3438
С.Петербург
В VS2008 с форматом "%lld" (две маленьких L) работает.

 Профиль  
                  
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 19:27 
Заслуженный участник


26/07/09
1559
Алматы
Maslov в сообщении #258627 писал(а):
В VS2008 с форматом "%lld" (две маленьких L) работает.

Подтверждаю. Проверил на стареньком gcc. Но все равно типа long long int лучше избегать.

-- Чт ноя 05, 2009 22:52:24 --

Хотя этого типа я побаиваюсь будучи помешанным на C++, который по-сути основан на C89. В чистом C этот тип уже в C99 появился, т.е. все-таки можно его использовать, если осторожно.

 Профиль  
                  
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 20:22 
Аватара пользователя


14/08/09
1140
Maslov в сообщении #258627 писал(а):
В VS2008 с форматом "%lld" (две маленьких L) работает.

На Windows всё равно не работает, на Linux работает, но нужно мне под винду :?

 Профиль  
                  
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 20:23 
Заслуженный участник


04/05/09
4587
Попробуйте "%Ld".
Хотя нет, на Visual Studio >= 2005 работает "%lld", а на более ранних - "%I64d" (i большое), там и типа long long нет, а есть __int64.

 Профиль  
                  
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 20:40 
Аватара пользователя


14/08/09
1140
venco в сообщении #258698 писал(а):
Попробуйте "%Ld".
Хотя нет, на Visual Studio >= 2005 работает "%lld", а на более ранних - "%I64d" (i большое), там и типа long long нет, а есть __int64.

Так у меня Dev-c++. Там есть тип long long. Перепробовал всё. Сработал
Код:
"%I64d"

Спасибо.

 Профиль  
                  
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 20:53 
Заслуженный участник


28/04/09
1933
Mathusic
А
Код:
"%lli"
у Вас не работает?

 Профиль  
                  
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 21:05 
Аватара пользователя


14/08/09
1140
EtCetera в сообщении #258713 писал(а):
Mathusic
А
Код:
"%lli"
у Вас не работает?

НЕТ.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group