下面程序的功能是将一个字符串str的内容颠倒过来 请填空。include<string.h>main(){ infi j [13]

计算机 字符串,功能,程序 已帮助 人

下面程序的功能是将一个字符串str的内容颠倒过来,请填空。

include<string.h>

main()

{ infi,j, [13] ;char str[]={"1234567"};

for(i=0,j=strlen(str) [14] ;i<j;i++,j--)

{k=str[i];str[i]=str[i];str[j]=k;}

printf("%s ",str);}

请帮忙给出正确答案和分析,谢谢!

热搜:下面程序的功能是输出数组s中最大元素

答案解析

难度★★☆ 搜索
  • 正确答案:

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