可能重复:
为什么在写入字符串时会出现分段错误?
我正在编写一个非常简单的程序,我试图在 for 循环中连接两个字符串。字符串连接中的第一个字符串是固定的,第二个字符串是通过函数获得的itoa
。该程序正在成功构建,但是当我尝试运行该程序时,它无法运行并停止。我刚刚调试了程序,在调试时我意识到程序卡在了字符串连接操作中。我在下面发布程序。感谢您的支持 :
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[])
{
char *str="NULL" ,dec[] = "NULL";
int i,num;
printf("Enter a number : \n");
scanf("%d",&num);
for (i=0;i<num;i++)
{ str = "test_file_num_";
itoa(i,dec,10);
strcat(str,dec);
printf("%s\n",str);
}
return 0;
}