请问 /*两者结果一样,区别是什么?*/?

main()
{
long x,y,c;
x=50000;
y=35126;
c=x-y;
printf("c=%1d",c);
getch();
}

main()
{
int x,y,c;
x=50000;
y=35126;
c=x-y;
printf("c=%d",c);
getch();
}

梦里花落0921
浏览 172回答 3
3回答

守着星空守着你

您好,如果您使用printf("c=%1d",c);确实没有什么区别,但是如果是printf("c=%5d",c);在输出时c不满5位 也会占五个字符的长度,一般都是用做格式控制的

素胚勾勒不出你

VC++ 编译器,int , 默认是 long int. 没有区别。TC 编译器,int , 默认是 short int , 有区别。printf("c=%1d",c); 不是 %1d, 是 %ld (long d)

手掌心

两个类型不同!一个是long,一个是int类型,long是有符号64位的整数,Int是有字符的32位整数.
打开App,查看更多内容
随时随地看视频慕课网APP