gpt4 book ai didi

c - 将 char 数组 int 值增加 1

转载 作者:行者123 更新时间:2023-12-02 01:32:54 26 4
gpt4 key购买 nike

大家好,我有一个包含 ID 字段的字符数组。id 字段如下所示 i0001。当我在链接列表中创建新链接时,我想将 ID 加一。

因此,我将链表排序到最后一个值,例如; i0005,现在我想将新字段创建为 i0006。显然我不能只增加数组的值,因为它是一个字符,我应该怎么做?

char id[5];

我试过:

id[4] = id[4]+1;

这个问题是当它达到 10 时它不会增加 id[3],而是开始用符号替换数值(我假设这些是数字后面的 ascii 值)。

有人知道他们将如何处理这个问题吗?我有点难过!

最佳答案

自己实现carry应该不错。

void inclementArray(char *id) {
int i;
for (i = 4; i >= 1; i--) {
id[i]++;
if (id[i] > '9') {
id[i] = '0';
/* do carry and proceed to next digit */
} else {
/* no carry, the calculation is completed */
break;
}
}
}

注意:char id[5];足以存储{'i', '0', '0', '0', '5'} ,但它不足以存储以 null 结尾的字符串 "i0005"

关于c - 将 char 数组 int 值增加 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33102127/

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