c。通过另一个在字符数组替换一个字符(C Replace one character in an c

2019-10-21 23:57发布

我有以下的C代码

#include <stdio.h>
int main(void){
    char c[] = "ABC"
    printf("%s ", c);
    c[1] = 'B';
    printf("%s", c);
    return 0;
}

我想输出是ABC BBC ,但输出我得到的是ABC ABC 。 我怎么能替换的字符串/字符数组的第一个字符?

Answer 1:

索引在C数组从开始0 。 所以必须更换c[1] = 'B'c[0] = 'B'

此外,请参阅从今天类似的问题: 微笑在输出C ++ -我已经把更详细的描述那里:)



Answer 2:

下面是实际工作的码!!!!

阿马尔胡拉尼

char * replace_char(char * input, char find, char replace) 

{

char * output = (char*)malloc(strlen(input));

for (int i = 0; i < strlen(input); i++)
{
    if (input[i] == find) output[i] = replace;
    else output[i] = input[i];
}

output[strlen(input)] = '\0';

return output;

}



Answer 3:

C数组是零基极。 该阵列的第一个元素是在第零位置。

c[0] = 'B';


Answer 4:

尝试

c[0] = 'B';

阵列从0开始



文章来源: C Replace one character in an char array by another