开发者社区> 问答> 正文

C语言里long long对short有影响吗?? 400 报错

C语言里long long对short有影响吗?? 400 报错

为什么2次d,e的值不一样,前面有Long long了就出错?

#include <stdio.h>

int main(){
	long long c1=40;//对下面的short有影响吗? 
	short d=10;
	short int e=15;
	unsigned long long int ulli=111;
	
	printf("c1=%ld,d=%d,e=%d,ulli=%d\r\n",c1,d,e,ulli);
	printf("d=%d,e=%d\r\n",d,e);
	
}



结果

c1=40,d=0,e=10,ulli=15
d=10,e=15
为什么第一次输出d,e的值是错的,受Long longs输出的影响了吗

展开
收起
爱吃鱼的程序员 2020-06-03 15:47:49 538 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    用C99的话,得使用%lld.######

    #include <stdio.h>

    int main(void){ long long c1 = 40; short d = 10; short e = 15; unsigned long long ulli = 111;

    printf("c1 = %lld, d = %d,e = %d,ulli = %lld\r\n",c1, d, e, ulli);
    printf("d = %d, e = %d\r\n", d, e);
    
    return 0;
    

    }



    ######谢谢
    2020-06-03 18:05:15
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载