我试着从一个句子中打印单词,但这是错误的:
分段故障(核心转储)
是由于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;
}发布于 2017-09-07 13:19:30
您的主要代码本身是不正确的。char str100;get(Str);
如何确保str的输入始终为100。如果输入超过100,将导致崩溃。
https://stackoverflow.com/questions/46061350
复制相似问题