gpt4 book ai didi

c - 两个字符的异或运算

转载 作者:太空宇宙 更新时间:2023-11-04 00:19:21 26 4
gpt4 key购买 nike

在这里,我尝试使用异或运算交换字符串中的两个字符。但是 GCC 编译器向我抛出一个段错误

#include <stdio.h>
#include <stdlib.h>

int main()
{
char *str = "welcome";

str[0] = str[0] ^ str[1]; // Segmenation fault here
str[1] = str[0] ^ str[1];
str[0] = str[1] ^ str[0];

printf("%s", str);
return 0;
}

最佳答案

你不能在 C 中改变文字。str 指向只读内存。

改为尝试:

char str[] = "welcome";

有一个C FAQ关于这个问题。

关于c - 两个字符的异或运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com