下面程序的功能是将一个字符串str的内容颠倒过来,请填空。 #include<string.h> main() { inti,j,【 】;char str[]={"1234567"}; for(i=0,j=strlen(str

admin2009-02-15  28

问题 下面程序的功能是将一个字符串str的内容颠倒过来,请填空。
   #include<string.h>
   main()
   { inti,j,【  】;char str[]={"1234567"};
     for(i=0,j=strlen(str)【  】;i<j;i++,j--)
     { k=str;str=str[j];str[j]=k;}
       printf("%s\n",str);}

选项

答案k -1

解析 颠倒一个字符串中的字符,就是首尾对应的元素两两交换。简单地可用两个游标变量i和j,i是前端元素的下标,j是后端元素的下标,交换以这两个变量值为下标的元素str和str[j]。开始时,i的值为 0,j的值为字符串末元素的下标(字符串长度减1)。每次交换后,i增1,j减1。继续交换的条件是str还位于str[j]的前面,即i<j。字符串末元素的下标是它的长度减1,所以在第二个空框处应填入-1。程序为了交换str和str[j],使用了变量k,该变量应在程序的变量定义部分中一起定义,所以在第一个空框处应填入k。
转载请注明原文地址:https://kaotiyun.com/show/NkXp777K
0

最新回复(0)