C语言 实验七 指针的程序设计实验 急,在线等

1、题目:字符串的递归打印

实验分析及提示:

程序1是一个字符串反向的递归函数,请将该函数填写完整,回答下列问题。

程序1:

#include <stdio.h>
#include<stdlib.h>
revstr ( char * s )
{ char *p = s, c;
while (【1】 ) /*将p移动到字符串尾部*/
p++;
【2】;
if ( s < p )
{ c = *s;
【3】;
【4】 = '\0';
revstr(s+1);
【5】;
}
}
int main()
{
char a[10]={"Sunday"};
char *pch=a[0];
revstr( a );
printf("%s",a);
system("pause");

}

根据程序1,请回答问题:

1.1这个函数的形式参数是数据类型是____,实际调用时实际的调用参数是____,数据类型是____,实际调用参数与形式参数的类型一致吗?

1.2 程序只是一个片段,请你写出完整的主程序。
2、将程序1的空缺语句填写完整。

序号

语句

【1】

【2】

【3】

【4】

【5】

这什么书上的题,还有这样出题的,代码风格糟糕透顶,函数定义也写的不完整,这种问题就不该用递过来求解。看起来不是什么好书,别用了

#include <stdio.h>
#include<stdlib.h>

void revstr(char *s)
{
    char *p;
    char c;
    p = s;

    while (*p != NULL)
        p++;
    p--;
    if (s < p){
        c = *s;
        *s = *p;
        *p  = '\0';
        revstr(s+1);
        *p = c;
    }
}

int main(void)
{
    char a[10]={"Sunday"};
   // char *pch=a[0];
    revstr(a);
    printf("%s", a);
    return 0;
}

追问

这是我们学校的上机实验

追答

这题有些 奇淫技巧 了,好好学习吧,多思考,弄懂概念挺重要。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-27
1.1这个函数的形式参数是数据类型是__字符型指针__,实际调用时实际的调用参数是_数组名___,数据类型是__字符型指针__,实际调用参数与形式参数的类型一致吗? 不一致,字符型指针可以改变地址,数组名不可以改变地址,也就是不可以重新赋值。

1.2 程序只是一个片段,请你写出完整的主程序。
2、将程序1的空缺语句填写完整。
程序等下给你
......做了半天没弄出来 ,楼下真大神 厉害 膜拜追问

还是谢谢你

相似回答