долго долго в C/C++

Кассини является ment, чтобы быть легким тестовым веб-сервером веса. Идея состоит в том, что разработчику не должны были устанавливать IIS и настроенный для тестирования его приложения. Используйте IIS, если Вы знакомы с ним, и у Вас есть он, установка и Ваше поле могут handel он. Кассини не является ment, чтобы быть заменой.

82
задан Peter Mortensen 14 May 2013 в 12:10
поделиться

4 ответа

Буквы 100000000000 составляют буквальную целочисленную константу, но значение слишком велико для типа int . Для изменения типа литерала необходимо использовать суффикс, например

long long num3 = 100000000000LL;

Суффикс LL превращает литерал в тип long long . C недостаточно "умен", чтобы сделать вывод из типа слева, тип - это свойство самого литерала, а не контекст, в котором он используется.

143
ответ дан 24 November 2019 в 09:11
поделиться

Попробуйте:

num3 = 100000000000LL;

И BTW, в C ++ это расширение компилятора, стандарт не определяет long long, это часть C99.

25
ответ дан 24 November 2019 в 09:11
поделиться

Это зависит от того, в каком режиме вы компилируете. long long не является частью стандарта C ++, но поддерживается (обычно) только как расширение. Это влияет на тип литералов. Десятичные целочисленные литералы без суффикса всегда имеют тип int , если int достаточно большой для представления числа, в противном случае - long. Если число слишком велико в течение длительного времени, результат определяется реализацией (вероятно, это просто число типа long int, усеченное для обратной совместимости). В этом случае вы должны явно использовать суффикс LL, чтобы включить расширение long long (в большинстве компиляторов).

Следующая версия C ++ будет официально поддерживать long long таким образом, что вам не понадобится какой-либо суффикс, если вы явно не хотите заставить тип литерала быть как минимум long long. Если число не может быть представлено как long, компилятор автоматически попытается использовать long long даже без суффикса LL. Я считаю, что это тоже поведение C99.

4
ответ дан 24 November 2019 в 09:11
поделиться

ваш код компилируется здесь нормально (даже с этой строкой без комментариев. Пришлось изменить ее на

num3 = 100000000000000000000;

, чтобы появилось предупреждение.

1
ответ дан 24 November 2019 в 09:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: