gpt4 book ai didi

c - dev c++ 和指向字符串的指针,程序挂起

转载 作者:行者123 更新时间:2023-11-30 14:22:55 25 4
gpt4 key购买 nike

我用 Dev C++ 编写了以下程序:

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


#define MAX_STRING_LEN 80

int main(int argc, char *argv[])
{
char* S1 = "cccc";
char* S2 = "dddd";

int i, l;

S2 = S1;
S1[0] = S1[1] = S1[2] = '*';
S1[3] = 0;
printf("S1:\t%s\n",S1);
printf("S2:\t%s\n",S2);

system("PAUSE");
return 0;
}

但是当我运行它时,程序挂起,实际上我使用的是 Dev C++ 4.9.2 和 Windows 7有什么问题吗?

最佳答案

char* S1 = "cccc"; 实际上是声明一个 const char* ,它指向只读的内存。写入该行中的这些字符串

S1[0] = S1[1] = S1[2] = '*';

给出未定义的行为并且会在某些平台上崩溃。

关于c - dev c++ 和指向字符串的指针,程序挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13367566/

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