A-A+
下面程序的功能是将一个字符串str的内容倒序 请填空。 inelude <stdio.h>
问题详情
下面程序的功能是将一个字符串str的内容倒序,请填空。 inelude <stdio.h> include <strins.h> main() { int i,j,【 】; charstr[]={"1234567"}; for(i=0,j=strlen(str) 【 】;i<j; i++,j--) { k=str[i];str[i]=str[j];str[j]=k;} printf("%sn",str); }
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:k -1
第一处应该是定义的某个变量,读程序可知,变量k没有定义,所以此处应填入k。字符串的倒序,就是将首尾对应的字符(数组元素)两两交换。可用两个游标变量i和j分别代表前端元素的下标和后端元素的下标,交换以这两个变量值为下标的元素str[i]和str[j]。开始时,i的值为0,j的值为字符串末元素的下标(字符串长度减1)。每次交换后,i增1,j减1。继续交换的条件是str[i]仍然位于str[j]的前面,即i<j。字符串末元素的下标是它的长度减1,所以在第二处应填入-1。