我有以下的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
。 我怎么能替换的字符串/字符数组的第一个字符?
我有以下的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
。 我怎么能替换的字符串/字符数组的第一个字符?
索引在C数组从开始0
。 所以必须更换c[1] = 'B'
与c[0] = 'B'
。
此外,请参阅从今天类似的问题: 微笑在输出C ++ -我已经把更详细的描述那里:)
下面是实际工作的码!!!!
阿马尔胡拉尼
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;
}
C数组是零基极。 该阵列的第一个元素是在第零位置。
c[0] = 'B';
尝试
c[0] = 'B';
阵列从0开始