小编Sud*_*tel的帖子

无法更新c中给定char指针的值

我正在使用==operator 检查字符串之间的直接比较.当两个字符串都是正确比较的字符指针时.我很快意识到它发生了编译器默认情况下为两个char指针变量分配相同的地址,因为它们保持相同的值.

#include<stdio.h>

void update(char *str2){
 *(str2+2)='O';
}
int main(){

char *str1="Sudhanshu";
char *str2="Sudhanshu";

printf(" %s  , %s ",str1,str2);
update(str2);
printf(" %s  , %s ",str1,str2);

if(str1==str2){
   printf("True\n");
}else
  printf("False\n");

return 0;
}
Run Code Online (Sandbox Code Playgroud)

地址str1str2是一样的.所以我想检查更新一个指针是否实际影响其他指针.

但是,我遇到了分段错误.为什么我会遇到段故障?

c string pointers

1
推荐指数
1
解决办法
341
查看次数

标签 统计

c ×1

pointers ×1

string ×1