随笔-2016.3.25-关于字符串的内存分配

#include <windows.h>

void main1()
{
    char str[50];
    int num;

    scanf("%d",&num);
    sprintf(str,"for /l %%i in (1,1,%d) do start calc",num);
    
    system(str);
}

今天在Linux下跑了一点代码出现以下错误


代码如下:


程序的目的是将字符串翻转,但单词不翻转

最后发现问题在第12行

char *pStr = "I am a Student."
这里*pStr是一个指针变量存储在栈区,而"I am a Student."是一个字符串常量存储在全局变量区它的值是不允许修改的,当对pStr进行修改时出现了错误。


你可能感兴趣的:(随笔-2016.3.25-关于字符串的内存分配)