2014 dxdy logo

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

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




 
 Прроблема с типом long long в С
Сообщение05.11.2009, 16:47 
Аватара пользователя
Вот простейшая програмка, не печатает, что надо. Компилятор под винду вроде достаточно новый. (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 
А формат "%ld" не пробовали (и при вводе, и при выводе)?

 
 
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 16:59 
Аватара пользователя
Maslov в сообщении #258625 писал(а):
А формат "%ld" не пробовали (и при вводе, и при выводе)?

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

 
 
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 16:59 
В VS2008 с форматом "%lld" (две маленьких L) работает.

 
 
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 19:27 
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 
Аватара пользователя
Maslov в сообщении #258627 писал(а):
В VS2008 с форматом "%lld" (две маленьких L) работает.

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

 
 
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 20:23 
Попробуйте "%Ld".
Хотя нет, на Visual Studio >= 2005 работает "%lld", а на более ранних - "%I64d" (i большое), там и типа long long нет, а есть __int64.

 
 
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 20:40 
Аватара пользователя
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 
Mathusic
А
Код:
"%lli"
у Вас не работает?

 
 
 
 Re: Прроблема с типом long long в С
Сообщение05.11.2009, 21:05 
Аватара пользователя
EtCetera в сообщении #258713 писал(а):
Mathusic
А
Код:
"%lli"
у Вас не работает?

НЕТ.

 
 
 [ Сообщений: 10 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group