在读取string时,
scanf遇到空格和回车即停止读取,不将空格和回车放入字符串;
fgets遇到空格不停,遇到回车停止读取,将空格和最后读取的回车都放入字符串中。
在有些编程题目中,
1)输入的字符串如果含有空格,只能用fgets读取;
2)当输入的某个字符串可能为空时,即只有回车,只能用fgets。
若用scanf读取,程序会因少读一个字符串而导致部分测试点超时或错误等问题。
在读取string时,
scanf遇到空格和回车即停止读取,不将空格和回车放入字符串;
fgets遇到空格不停,遇到回车停止读取,将空格和最后读取的回车都放入字符串中。
在有些编程题目中,
1)输入的字符串如果含有空格,只能用fgets读取;
2)当输入的某个字符串可能为空时,即只有回车,只能用fgets。
若用scanf读取,程序会因少读一个字符串而导致部分测试点超时或错误等问题。