如何使用指针替换字符串中的字符? (在c代码中)
这是我的代码:
#include <stdio.h>
#include <string.h>
unsigned char code[] = "Hello world!\n";
main()
{
printf("String Length: %d\n", strlen(code));
printf("Original String: %s\n", code);
char &code[7] = "W";
char &code[8] = "a";
char &code[9] = "l";
char &code[10] = "e";
char &code[11] = "s";
printf("New String: %s\n", code);
}
答案 0 :(得分:2)
您可以指定从零开始的数组索引:
code[6] = 'W';
code[7] = 'a';
code[8] = 'l';
code[9] = 'e';
code[10] = 's';
字符文字用单引号而不是双引号指定。
数组变量是第一个元素地址的同义词。如果您特别想使用指针语法,则可以将code[i]
替换为*(code + i)
。例如:
*(code + 6) = 'W';
*(code + 7) = 'a';
*(code + 8) = 'l';
*(code + 9) = 'e';
*(code + 10) = 's';