在此代码的数字 scanf()
部分,如果我输入 01234567 ,则 printf()
函数会打印 1234567 而不会打印 0 。如何解决问题?
#include<stdio.h>
int main()
{
long int number , date , month , year ;
char name[50];
printf("Enter name \n");
gets(name);
printf("Enter mobile number\n");
scanf("%ld",&number);
printf("Enter date of birth(date)\n");
scanf("%ld",&date);
printf("Enter date of birth(month)\n");
scanf("%ld",&month);
printf("Enter date of birth(year)\n");
scanf("%ld",&year);
///printing starts
printf("Name: %s\n",name);
printf("Number: %ld\n",number);
printf("DOB: %ld/%ld/%ld",date,month,year);
return 0;
}
对于数字部分, 此代码显示输出:1234567 但输入是 01234567
预期输出:01234567
最佳答案
printf("Number: %011ld\n",number);
这将在 0
前面加上 OP 要求的 11 个字符。因此 01234567 将变为 00001234567
关于c - printf 中不存在扫描的 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53954283/