[求助]循环中字符串指针怎么没有指向串的第一个字母?
#include <stdio.h>
main()
{
char * line[500], *str;
int i = 0,j;
str = (char *)malloc(128);
while(1)
{
scanf("%s",str); /*从这开始*/
line[i] = (char *)malloc(128);/* 分配指针空间*/
strcpy(line[i], str); /*save*/
++ i;
if(getchar() == '\n'&& getchar() == '\n')
{
break;
}
}
for(j = 0;j < i;j ++)
{
printf("%s\n",line[j]);
}
}
跟踪发现第一次循环时str 指向第一个字母,接下来的循环都指向了输入字符串的第二个字母,是怎么回事
我的输入是:
ab
cd
ef
输出是
ab
d
f