[英]Segmentation fault (core dumped) error not resolved
#include<iostream>
#include<cstdlib>
using namespace std;
int main(){
int i,n;
char * buffer=NULL;
i=0;
cout<<"enter the character length you wish to store dynamically"<<endl;
cin>>i;
buffer= (char*) malloc(i+1);
if(buffer=NULL)
exit(1);
for(n=0;n<i;++n)
buffer[n]=rand()%26+'a';
buffer[i]='\0';
cout<<"the string is "<<buffer<<endl;
free(buffer);
return 0;}
我遇到了分段错误:输出:输入要动态存储的字符长度5分段错误(核心已转储)我无法找出我的错误? 我试图在调试器模式下运行,但是没有为它生成核心文件。 请提出解决方案。
buffer=NULL
是一个赋值。 它将被评估为false,并且buffer[n]=rand()%26+'a';
将取消引用分配的NULL
。
做比较buffer==NULL
代替。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.