gpt4 book ai didi

c - 输入数字(可能带有前导零)但输出它们不带前导零

转载 作者:行者123 更新时间:2023-11-30 20:36:15 24 4
gpt4 key购买 nike

我需要保留输入中的所有前导零,因此我将数字作为 char 存储,然后使用 ctoi() 函数将它们转换回整数,如以下代码所示:

#include<stdio.h> 

#define ctoi(a) a-'0'

int main() {
int n;
char ch;
scanf("%c",&n);
ch=ctoi(n);
printf("%d",n);
}

但是该代码不起作用。有什么问题吗?

Input:

001
0123
78
000123

Expected Output:

1
123
78
123

But I got:

1
1
7
1

最佳答案

当您将数字存储为整数时,您仅存储实际数字,而不存储用于生成该数字的格式。如果您想按原样保留格式,则需要将其存储为字符串或其他存储原始格式的方法。

int n = 10;  // only stores a number in memory
char text[10] = "00010"; // stores any text, but can not be used for number arithmetic as stored here

关于c - 输入数字(可能带有前导零)但输出它们不带前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36533135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com