Как вводить / выводить и сравнивать «длинные длинные» переменные в C? - PullRequest
1 голос
/ 09 декабря 2010

Я написал программу на C. Моя цель - проверить, как работают переменные типа long long. Но результаты меня смущают.
Моя ОС: WinXP
Мой компилятор: TCC (Tiny C Compiler) http://bellard.org/tcc/ версия 0.9.25
======== Мой исходный код ========

# include "stdio.h"
# include "math.h"
void main() {
 long long n,i;
 scanf("%lld",&n);
 i=42;
 printf("\nn=%lld",n);
 printf("\ni=%lld",i);
 printf("\ni<=n --> %d",i<=n);
 return;
}

======== Конец исходного кода =========
Запускаю программу, я ввожу:

30

Тогда вывод:

n=30
i=42
i<=n --> 1

Это означает, что «i (42) меньше, чем n (30)». Почему?
Есть ли ошибки при вводе длинной длинной переменной?
Можете ли вы показать мне правильный путь?
Спасибо за вашу помощь!

Ответы [ 2 ]

2 голосов
/ 09 декабря 2010

Сначала напишите свой main() как

int main(void) { /* ... */ }

или как

int main(int argc, char *argv) { /* ... */ }

А потом, вероятно, вам нужен лучший компилятор.

1 голос
/ 09 декабря 2010

Вам следует позвонить printf("%I64d", var)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...