char *pr( char a[], int n )
{
int i = 0;
while( i < n )
{
a[i] = getchar();
i++;
if( a[i] == '\n' || a[i] == ' ' || a[i] == '\t' )
break;
}
a[i] = '\0';
char *ch;
ch = a;
putchar('\n');
return ch;
}
这个函数在执行的时候 想判断a[i]为空白符时就退出循环 但是实际执行时 a[i]为空格或换行却没有跳出循环 而是继续执行 给a[i]赋值 不理解 求大神解答
先i自加了。
导致判断的是下一个。
向前移动一行就好了。这样
while( i < n )