关于在C语言中long long类型的输入输出问题,是不是printf(“%lld”,n)和scanf("%lld",&n)?
#include<stdio.h>#include<stdlib.h>#include<iostream>usingnamespacestd;intmain(){long...
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
using namespace std;
int main()
{
long long n;
while(scanf("%ld",&n)==1)
{
printf("%ld\n",n/3);
}
system("pause");
return 0;
}
为什么输进去会出现这种状况?
6
-1431655764
7
-1431655763
8
-1431655763
9
-1431655763
想问一下,long long到底是怎么输入的? 展开
#include <stdlib.h>
#include<iostream>
using namespace std;
int main()
{
long long n;
while(scanf("%ld",&n)==1)
{
printf("%ld\n",n/3);
}
system("pause");
return 0;
}
为什么输进去会出现这种状况?
6
-1431655764
7
-1431655763
8
-1431655763
9
-1431655763
想问一下,long long到底是怎么输入的? 展开
展开全部
同编译器有关。VC++ 在32位机上 用 _int64 表示 long long.
格式 用 "%I64d" 输入输出
格式 用 "%I64d" 输入输出
追问
对于定义部分: 是不是VC++上用_int64定义这种类型,在dev C中用long long定义
而对于输入输出部分:在windows中用 "%I64d" 格式输入输出,而在linux中用 "%lld" 格式输入输出
不知道这样理解对不对?请您指教,谢谢!
追答
是的。VC++ 6.0 有点特殊。写 long long 则为 illegal
一般C/C++语法应当是 long long int,"%lld“
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
long long输入输出是根据编译器类型来的
我只知道GNU C++ For Windows中是这么输入/输出的
输入:无
输出:printf("%I64d",变量名);
我只知道GNU C++ For Windows中是这么输入/输出的
输入:无
输出:printf("%I64d",变量名);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询