每当我调用这个函数时,它跳过它里面的fgets语句。函数调用跳过函数的语句
void getString(char *str){ /* Read a string from the keyboard */
fprintf(stdout,"Please enter a string: ");
fgets(str,MAX_STRING_LEN,stdin);
}
这里的函数调用
if(strcmp(cmd,"new")==0){ /* new string command */
getString(current);
}
你确定它已被调用?什么是“当前”?你认为它不是因为调试器(内联?)或因为它不输出任何东西而被调用? –
@haccks我相信你的意思是输出? Flushing'stdin'是UB。 –
@FilipeGonçalves;哎呀!删除我的评论:) – haccks