long long 读数scanf的转换 #define

  在win32的评测系统下,long long scanf 要用"%I64d" ,而网上评测和考试要用"%lld",因此,难免有点麻烦,还会runtime error,所以这里提出一种新的方法:

#ifdef WIN32

#define AUTO "%I64d"

#else

#define AUTO "%lld"

#endif

这样把scanf("%I64d",...) 就转化为 scanf(AUTO,...)  就方便多了

时间: 2024-12-20 10:15:41

long long 读数scanf的转换 #define的相关文章

格式转换说明符scanf,printf格式%大全/格式化输入输出(转)

相信不管大神还是菜鳥,都认得printf.它家还有兄弟sprintf,scanf,sscanf...$^&* 当你华丽丽的写下char c='c';printf("char=%d",c);的时候,一切都还是那么美好. 不过当你声明一个char buf[2];然后sscanf("30000","%d",buf);的时候,就不那么好玩了. 本以为2个字节足够装下32767以内的数字,却把内存写爆了. 此处关键就是格式符乱写产生的问题. 此时最

HDU 5186 zhx's submissions (进制转换)

Problem Description As one of the most powerful brushes, zhx submits a lot of code on many oj and most of them got AC. One day, zhx wants to count how many submissions he made on n ojs. He knows that on the ith oj, he made ai submissions. And what yo

数据类型和转换匹配

数据类型 long long 8字节,long(unsigned long) 4字节(16和32位编译器)或8字节(64位编译器),short 2字节, int(unsigned int) 2字节(16位编译器)或4字节(32和64位编译器) ,char 1字节,float 4字节,double 8字节 <1>整形变量范围 8位  : signed -128到127        unsigned 0 到 255 16位 :signed -32768到32767      unsigned 0

数学推导+高精度进制转换+解同余方程 POJ 3708

题意:点击打开链接 把m,k表示成d进制,对于这个递归函数,每一次递归都是一次每一位数字的置换,求出每一位的循环节,最终f(m)=k就是要每一位都相等,即解同余方程组. 代码: #include <cstdlib> #include <cctype> #include <cstring> #include <cstdio> #include <cmath> #include<climits> #include <algorith

Cocos2d-x程序Windows下VC中文乱码的解决(用MultiByteToWideChar进行转换,VC2010有非常厉害的execution_character_set)

Cocos2d-x默认字符串常量编码都是UTF8的,而Windows中的VC默认都是跟系统相同,比如简体Windows是GB2312或者GBK.繁体就是BIG5编码.而我们大多数中国人用VC编译出来的字符串常量也就是GBK编码的字符串.在Cocos2d-x界面上绘制的时候它是不知道的,只会认为这个是UTF8字符串,结果就出现了乱码.解决方式也很简单.找个头文件加入下面的代码 #ifdef WIN32 inline std::wstring AnsiToUnicode(const char* bu

scanf()总结--从网上收来的,感觉很好,用来提醒自己,c语言真是博大精深!!【转】

转自:http://www.cnblogs.com/xiaocai905767378/archive/2011/06/01/2067526.html scanf杂谈 不得不说C语言真是博大精深!相比其他很多语言来说,C语言给人的表象就是结构精炼,内容简单.注意,那仅仅是表象!的确,C语言入门简单得很.但要真正做到掌握C语言甚至达到驾轻就熟的程度,谁敢说容易?       就从函数scanf说起吧.对于学习C的朋友来说,最熟悉的函数除了入门第一个"Hello World"程序用到的pri

HDU2112-HDU Today-最短路(dijkstra+字符转换)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 这个题目有点坑,就是有可能起点和终点在同一个地方,所以得保存起点和终点: #include<iostream> #include<string> #include<cstdio> #include<cstring> #include<map> #include<queue> #include<cmath> #includ

HDU 5011 Game Nim博弈 (涉及scanf和cin效率比较)

scanf是格式化输入,printf是格式化输出. cin是输入流,cout是输出流.效率稍低,但书写简便. 格式化输出效率比较高,但是写代码麻烦. 流输出操作效率稍低,但书写简便. cout之所以效率低,正如一楼所说,是先把要输出的东西存入缓冲区,再输出,导致效率降低. 缓冲区比较抽象,举个例子吧: 曾经就遇到过这样的情况(类似的), int i; cout<<'a'; cin>>i; cout<<'b'; 运行结果什么都没看到输出,输入一个整型比如3再按回车后ab同

第十二届湖南省赛 A - 2016 ( 数学,同余转换)

给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1. 1≤a≤n,1≤b≤m; 2. a×b 是 2016 的倍数. Input 输入包含不超过 30 组数据. 每组数据包含两个整数 n,m (1≤n,m≤10 9). Output对于每组数据,输出一个整数表示满足条件的数量.Sample Input 32 63 2016 2016 1000000000 1000000000 Sample Output 1 30576 7523146895502644 Hint 思路: