关于在C语言中long long类型的输入输出问题,是不是printf(“%lld”,n)和scanf("%lld",&n)?
发布网友
发布时间:2023-04-01 11:03
我来回答
共3个回答
热心网友
时间:2023-11-19 08:52
因为我们用的系统都是32位,所以在编译器中,int是32位,long long和__int64都是64位的,因此用哪个都行,相信我!你的问题出在,不论是long long还是__int64,如果你用printf输出,都必须用printf("%I64d\n",a)表示,千万不能用lld,用lld肯定错,你用cout就不会有这个困扰,这也就是为什么用cout能ac的原因。同理,建议你scanf最好你也别用lld,用%I64d。
热心网友
时间:2023-11-19 08:52
同编译器有关。VC++ 在32位机上 用 _int64 表示 long long.
格式 用 "%I64d" 输入输出追问对于定义部分: 是不是VC++上用_int64定义这种类型,在dev C中用long long定义
而对于输入输出部分:在windows中用 "%I64d" 格式输入输出,而在linux中用 "%lld" 格式输入输出
不知道这样理解对不对?请您指教,谢谢!
追答是的。VC++ 6.0 有点特殊。写 long long 则为 illegal
一般C/C++语法应当是 long long int,"%lld“
热心网友
时间:2023-11-19 08:53
long long输入输出是根据编译器类型来的
我只知道GNU C++ For Windows中是这么输入/输出的
输入:无
输出:printf("%I64d",变量名);