C - 运行此应用程序时崩溃

标签 c string pointers crash char

<分区>

问题出在哪里?运行时,应用程序崩溃...

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

void test(char* x) {
    (*x)++;
}

int main() {
    char* x = "xD";
    test(x);
    puts(x);
    getch();
    return 0;
}

最佳答案

您正在尝试修改存储在只读内存地址中的字符串文字,因为使用 char* x = "xD"; 您声明了一个指向此类数据的指针。使用此 char x [] = "xD"; 代替,它不是指针,而是一个允许修改的数组,因为它存储在堆栈中。或者,如果您想使用指针,则需要为其分配内存。

关于C - 运行此应用程序时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24587135/

相关文章:

c - 动态二维数组 - 分配不起作用(段错误)

c - ARM 上的高效复制,两个 16 位提取还是 1 个 32 位?

c - 将汇编翻译成伪代码

带列表的 Python 格式字符串

java - 将 Android Java 格式的字符串转换为 Swift

c++ - 如何访问和分配结构上的 int 指针数据类型的值?

c - 传递给函数的指针不重新分配

c - gcc 无法在没有 -O2 的情况下内联函数

java - 出现 fatal error : jni. h : No such file or directory #include <jni. h>

java - 字符串对象。需要澄清