为什么日子前面总会有一个0,就像图中的018,怎么变成18啊?感谢解答
小魔女参考了bing和GPT部分内容调写:
在C语言中,日期的格式一般都是用8位数字表示,其中前4位表示年份,中间2位表示月份,最后2位表示日期。比如,20200801表示2020年8月1日。由于月份和日期都是两位数,所以即使月份和日期是个位数,也要在前面补0,比如2020年8月1日,就要写成20200801。
如果想要把8位数字表示的日期,改成没有前导0的形式,可以使用C语言中的字符串函数,把8位数字转换成字符串,然后再把字符串中的前导0去掉,就可以得到没有前导0的日期格式了。
具体的代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
int date = 20200801;
char str[9];
sprintf(str, "%d", date);
int len = strlen(str);
int i;
for(i = 0; i < len; i++)
{
if(str[i] == '0')
{
int j;
for(j = i; j < len; j++)
{
str[j] = str[j+1];
}
len--;
}
}
printf("%s\n", str);
return 0;
}
上面的代码中,首先使用sprintf函数把8位数字转换成字符串,然后再使用一个for循环,把字符串中的前导0去掉,最后使用printf函数输出转换后的字符串,就可以得到没有前导0的日期格式了。
回答不易,记得采纳呀。