为什么我无法接受从零开始的整数输入?
Why I am unable to take integer input starting with zero?
我正在尝试使用 scanf
函数在 c 中获取整数输入。
当我输入 5 时,它会打印 5,但当输入为 05 时,它会省略 0 并打印 5。
谁能帮帮我,我不明白哪里出了问题。
int main(){
int n;
scanf("%d",&n);
printf("%d",n);
}
我的输入是05
例外的输出是05
实际输出为5
“5”、“05”和 "five" 是同一整数的三种不同 表示法 。当您采用整数输入时,您会得到一个整数作为输入。如果你想要一个整数的字符串表示作为你的输入,不要读入一个整数。读入一个可以容纳一串字符的缓冲区。
5
as int type 是 05
as int.
如果要以“05”或“020”格式打印数字,即带有前导零,请使用
printf("%02d",var);// for 1 digit variable with one leading zero
printf("%03d",var);// for 2 digit variable with one leading zero,for 1 digit variable with two leading zero
printf("%04d",var);// for 2 digit variable with two leading zeros,for 1 digit variable with three leading zeros
等等。如果您想要更多前导零,请在 d
之前增加值。
我正在尝试使用 scanf
函数在 c 中获取整数输入。
当我输入 5 时,它会打印 5,但当输入为 05 时,它会省略 0 并打印 5。
谁能帮帮我,我不明白哪里出了问题。
int main(){
int n;
scanf("%d",&n);
printf("%d",n);
}
我的输入是05
例外的输出是05
实际输出为5
“5”、“05”和 "five" 是同一整数的三种不同 表示法 。当您采用整数输入时,您会得到一个整数作为输入。如果你想要一个整数的字符串表示作为你的输入,不要读入一个整数。读入一个可以容纳一串字符的缓冲区。
5
as int type 是05
as int.如果要以“05”或“020”格式打印数字,即带有前导零,请使用
printf("%02d",var);// for 1 digit variable with one leading zero
printf("%03d",var);// for 2 digit variable with one leading zero,for 1 digit variable with two leading zero
printf("%04d",var);// for 2 digit variable with two leading zeros,for 1 digit variable with three leading zeros
等等。如果您想要更多前导零,请在
d
之前增加值。