printf-长整数相乘打印诡异问题

问题描述

长整数相乘打印诡异问题

#define VALID_TIMESTAMP_MIN (1435680000*1000*1000)
printf("VALID_TIMESTAMP_MIN is %llun", VALID_TIMESTAMP_MIN);

为什么打印结果不是1435680000000000,这么诡异的问题有人分析过么,cout也一样

解决方案

这么大的一个数这么可能放的下……= =

解决方案二:

可以的,不用乘法是可以的

时间: 2024-10-26 02:41:04

printf-长整数相乘打印诡异问题的相关文章

c语言关于printf输出字符串以及scanf的一些问题

问题描述 c语言关于printf输出字符串以及scanf的一些问题 代码一 #include <stdio.h> char ch1[] = {'a', 'b', 'c'}; char ch2[] = "abc"; int main(void) { printf("String ch1 is: %sn", ch1); printf("String ch2 is: %sn", ch2); return 0; } 代码二 #include

array variable used in printf function

在C中, array变量和指针极其相似. 指针加减运算, 首先需要知道指针类型, 类型占用的字节数, 如int *的指针, 加1 则表示地址加4字节(假设32位的机器int占4字节); 如果是char * 的指针, 指针变量加1则表示地址加1字节(char 占1个字节). 例子1 :  #include <stdio.h> #include <stdlib.h> int main() { char a[10] = "abcdefg"; printf("

select-调试信息无法打印 unix网络编程

问题描述 调试信息无法打印 unix网络编程 如代码注释信息所示,应该是缓冲区的问题,但是stderr是无缓冲区的,而且也使用了fflush函数,也没用.希望能有人指点指点,谢谢 #include "globle.h" #define port 8082 int main( int argc, char *argv[] ){ fprintf(stderr, "11111111111n");//无法打印 fflush(stdout); int listenfd,soc

test- 以下程序运行后的打印结果是______(需要写上分析思路)

问题描述 以下程序运行后的打印结果是______(需要写上分析思路) #include int sum(int a, int b) { return a + b; } int two(int n) { return n * 2; } void test(int n) { printf("%dn", two(n)); } int main() { test( sum(10, 11) ); return 0; } 解决方案 sum(10, 11) 得到21 test输出 two(21),2

在一个程序后面运行另一个程序

问:怎样在一个程序运行后面运行另一个程序? ●1. 在一个程序里面运行另一个程序的最简单的方法是把它们依次列入一个批处理文件(扩展名为.BAT的文件),在执行该批处理文件时,其中所列程序就会自动运行.在C或DOS中,都没有一种特定的方法来完成"在一个程序结束后运行另一个程序"这样一种函数调用.然而,C提供了两组函数,它们允许一个程序随时可以运行另一个程序,而后者的运行将结束前者的运行.如果你将这样的函数调用放在第一个程序的末尾,就能达到上述目的.C提供的这两组函数是exec()和spa

如何使用Log4j

如何使用Log4j? 1. Log4j是什么?  Log4j可以帮助调试(有时候debug是发挥不了作 用的)和分析,要下载和了解更详细的内容,还是访问其官方网站吧: http://jakarta.apache.org/log4j . 2.Log4j的概念    Log4j中有三个主要的组件,它们分别是 Logger.Appender和Layout,Log4j 允许开发人员定义多个Logger,每个Logger拥有自己的名字,Logger之间通过名字来表明隶属关系.有一个Logger称为Root

c语言如何实现1到9999递增输出,空白用0占位

问题描述 c语言如何实现1到9999递增输出,空白用0占位 四位,从1到9999递增显示出来,空白的位置用0占位,请大神帮忙,不胜感激 解决方案 int main(void) { for( int i=0;i<10000;i++) { printf("%04d",i) if( (i%50 == 0) && (i!=0) ) printf("n"); } return 0; } 解决方案二: printf("%04d",m);

iPhone开发初探

本文是作者从一无所知到入门的知识学习过程,并结合自己在嵌入式开发的经验所写的技术总结文章,以供后来者学习. 苹果公司的iphone平台采用Object-c做为native language的开发,Object-c的内核是C语言的,并基于C语言实现OOP的一些特性.Object-c是对C语言的扩展,这和C++的前身Better-c有很大的相似之处,Object-c的新版本里实现了和Java类似的垃圾回收机制,但基于iphone平台的资源限制,iphone平台并不支持垃圾回收机制. 学习一门语言,自

数据结构课设,急求代码注释

问题描述 数据结构课设,急求代码注释 #include "stdlib.h" #include "stdio.h" #include "time.h" #define STACK_INIT_SIZE 10 typedef struct { int x; //当前位置的横坐标 int y; //当前位置的纵坐标 char type; //当前位置的属性:墙壁或通道(0/1) bool isfoot; //判断当位置是否已走过, true代表已走过