2个回答
展开全部
第1个循环,变量i的值是字符串最后一个字符的下标开始,每次循环减1,即向前逐个字符进行判断,条件是isspace(str[i]),如果是空格就再次减1,否则不是空格则退出循环,退出循环时,i指向字符串末尾第1个非空格的字符,字符串需要在这个字符之后结束,所以给str[i+1]赋值字符串结束符0。
第2个循环i是从字符串第1个字符开始,每次循环i加1,找到紧跟着的下一字符位置,如果遇到不是空格的字符时,停止循环,退出循环是i指向字符串第1个非空格字符位置
由于第1个循环已经将字符串结束符赋值给了字符串结尾非空格字符之后位置元素,所以从str+i开始的字符串就是去掉了首尾连续字符后的字符串了。
输出字符串后,可以继续输入新的字符串,直到输入END或直接输入回车后,程序停止运行,退出while循环,这是while循环体最后一个if语句的作用。
第2个循环i是从字符串第1个字符开始,每次循环i加1,找到紧跟着的下一字符位置,如果遇到不是空格的字符时,停止循环,退出循环是i指向字符串第1个非空格字符位置
由于第1个循环已经将字符串结束符赋值给了字符串结尾非空格字符之后位置元素,所以从str+i开始的字符串就是去掉了首尾连续字符后的字符串了。
输出字符串后,可以继续输入新的字符串,直到输入END或直接输入回车后,程序停止运行,退出while循环,这是while循环体最后一个if语句的作用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询