c语言08
‘壹’ c语言中08是正确的整数变量,这句话对吗,如果错的话为什么
不对,以0开头表示是八进制数,而八进制数只允许出现0~7的数字,所以08是非法的整数变量。
‘贰’ 为什么08在c语言中算不合法常量,而005就算c语言合法常量呢
c语言里 0开头是八进制表示。 八进制没有8 只有 0-7 你试试07就是合法的。 005 第一个0 代表八进制 0 5 是在八进制之内 你试试008也不对。
顺便说一下16进制表示 以0x或0X表示
‘叁’ C语言,"%08d\n"中的08代表什么,我只见过%7.2f
表示按8位十进制输出,不足8位在前面加0补足8位。
测试程序:
#include<stdio.h>
void main()
{
printf("%08d\n",123);
printf("%8d\n",123);
}
运行结果:
00000123
123
请按任意键继续. . .
‘肆’ C语言怎么把0x08中8前面那个0也打印出来,请给个语句
这个简单,你可以使用%02x输出
如printf("%02x",8)可以输出08
%02x中0的含义指用0填充空位,2表示输出的字符位数为2位
‘伍’ C语言%08d中08表示什么
08就是8,(单个整数前加0,没有意义,即08=8)
%08d就是%8d,即整数按8个字宽输出出来。不足8位时,左留空,右对齐;相当于%+8d;
类似地有%-8d,是不足8位时,右留空,左对齐。
‘陆’ 08 为什么不是c语言常量
以0开头的是八进制,而八进制只会出现0~7,所以08是错误的!
‘柒’ C语言:分支-08. 高速公路超速处罚(15)
#include<stdio.h>
intmain()
{
intx=0,z=0;
scanf("%d%d",&x,&z);
//问:为什么(x-z)*100/z;前面要加个double强制转换?
//答:因为x,z,100都是整数(int型),他们三的+-*/得到的结果也是整形,
//如果不转换会丢失精度,导致计算结果不准。
doubleb=(double)(x-z)*100/z;
if(b>50)
{
printf("Exceed%.0f%%.LicenseRevoked",b);
}
elseif(b>=10&&b<=50)
{
printf("Exceed%.0f%%.Ticket200",b);
}
elseif(b<10)
{
printf("OK");
}
return0;
}
‘捌’ C语言编程如何使系统输出08 我用%2d他输出的是"空格加8"急啊帮忙
在实际环境中,有可能需要测算月份,如果月份的值小于10,前面用“0”补齐,这样的话,直接用下面的:
printf("0%d\n");就可以了呀。