0
#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;}
を解決していない私は、セグメンテーションフォールトを取得しています: 出力: あなたが動的にセグメンテーションフォールトを保存したい文字の長さを入力します(コアダンプ) 私は数字にはできませんよ私は間違いを犯しましたか? デバッガモードで実行しようとしましたが、コアファイルが生成されませんでした。 解決策を提案してください。セグメンテーションフォールトが(コアダンプ)エラー
あなたのエラーは 'if(buffer = NULL)'です。これは 'buffer'を' NULL'に設定します。私はあなたが 'if(buffer == NULL)'を望んだと思います。または、おそらくもっと良い、 'if(NULL ==バッファ)'。 – md5i