gets(str);//从键盘获取一个字符串
t=str,s=str;//这个才是对的,你写错了,这里让s和t都指向str的首地址
while(*t)//判断字符是否是\0,不是就执行循环
{
if(*t != ' ')
*s=*t, s++;// 如果不是空格,就把t指向的字符复制到s中,s的位置后移一位,就相当于s[j]=t[i],j++
t++;//t后移一位,继续上述步骤
}
*s='\0'; 将s的最后一位设为结束符
puts(str);//显示字符串,因为s最开始指向str的首地址,所以s的操作能够对str中的字符串产生影响,也就是去掉里面的空格