这个程序是否有多余部分?
下面这个程序是用getchar吃掉多余部分,我总觉得那个if部分是多余的,直接用while(getchar9)!='\n')不就行了?或者我理解得不对,所以请大家指出。
#include "string.h"
int main(void)
{
char firstname[5];
char lastname[5];
int i;
if(!fgets(firstname, 5, stdin)) return -1;
//i = 0;
//while(firstname[i]!='\n' && firstname[i]!='\0' )
//{
//i++;
//}
i = strlen(firstname) -1;
if(firstname[strlen(firstname) -1] == '\n')
{
firstname[i] = '\0';
}
else
{
while(getchar() != '\n');
//{
//continue;
//}
}
puts(firstname);
if(!fgets(lastname, 5, stdin)) return -1;
puts(lastname);
return 0;
}