C程序中的字符串加法

C程序中的字符串加法,c,C,如何将整数添加到字符串中字符的ASCII值 示例:-如果字符串“eat”中字符的ASCII值为101 97 116,我如何向每个ASCII值添加一个整数值(假设为10),使其变为111 107 126 任何人都可以用C语言编写代码吗???您必须循环char数组的每个元素,并逐个添加10个 int i; char string[4] = "abc\0"; for(i = 0; i < string[i]; i++) { string[i] += 10; } inti; 字符字符串[

如何将整数添加到字符串中字符的ASCII值

示例:-如果字符串
“eat”
中字符的ASCII值为101 97 116,我如何向每个ASCII值添加一个整数值(假设为10),使其变为111 107 126


任何人都可以用C语言编写代码吗???

您必须循环char数组的每个元素,并逐个添加10个

int i;
char string[4] = "abc\0";
for(i = 0; i < string[i]; i++) {
    string[i] += 10;
}
inti;
字符字符串[4]=“abc\0”;
对于(i=0;i

由于字符是一个(n位)整数,您只需向其添加整数即可。

简单转换为int和add@RyanMcCullagh你甚至不需要投任何东西
char
是一种数字类型。
void add(char*s,int x){while(*s)*s++=x;}
但是,将
10
添加到
'z'
(ASCII 122=>132)会打破ASCII值的边界。还不清楚您是否正在使用say
(有符号)字符
无符号字符
int
@paddy Love,这是
++
-以前从未见过的。不一定是8位:检查
限制.h中的
字符位
以确保检查。此外,您不需要手动将
\0
添加到字符串的末尾-字符串文字语法可以帮助您完成此操作。@Archmede它给出了一个错误“比较不同符号的整数:'int'和'size\t'(也称为'unsigned int')”@paddy Yes,最好不要每次都重新计算
strlen
。thnx@bob您的代码工作了,但正如paddy所说,删除
strlen
而使用
string[i]
细节:使用
string[i]
而不是
strlen(string)
在这种情况下是潜在的不同功能,因为循环修改
string[]
。顺便说一句:代码不会“在字符数组的每个元素上循环”。它不会迭代
字符串[]
的最后一个元素,即空字符。这当然是件好事。