を与える:私は文から単語を印刷しようとしていますが、それはエラーを与えている私はCで、文から単語を印刷しようとしています++が、その私にセグメンテーションフォールト(コア・ダンプ)
Segmentation Fault (core dump)
は、それが原因ですgets()
関数の使用に、またはそれは別のものですか?
void words(char* sentence){
int len =strlen(sentence);
for(int i=0;i<len;i++){
char word[100];
int j=0;
while(sentence[i]!='\0' || sentence[i]!=' '){
word[j++] = sentence[i++];
}
word[j] ='\0';
cout<<word<<endl;
}
}
int main(){
char str[100];
gets(str);
words(str);
return 0;
}
Btw:C++でchar配列を使用しないでください。http://www.cplusplus.com/reference/string/string/ class – Macias
'sentence [i]!= '\ 0' || sentence [i]!= '' 'は単純に' true'です。 'sentence [i]'が不可能な '\ 0'と ''''の両方であれば、それは間違いです。 –
** CやC++で 'gets'を使わないでください**。これは廃止され、その後CおよびC++から削除されました。 – NathanOliver