c语言程序改错题
展开全部
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
void reverseString(char *str){
if (*str){
reverseString(str+1);
printf("%c", *str);
}
}
int main(){
char str[] = "test";
reverseString(str);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fun(char a);
这里应该传入指针。
这里应该传入指针。
更多追问追答
追问
为什么 能解析一下吗
追答
#include<stdio.h>
void fun(char a) //2、那么,这里就有问题了,这里是char不是char*
//编译器会提示找不到函数。
{
if(*a) //这里循环检测a的值里的值。。==好绕口
//检测到\0,就是标志着字符串结尾的符号。
//就不会再继续调用fun来递归
fun(a+1);
printf("%c",*a);//会打印a,这样第一次打印的*a就是传进来的数组的最后一个元素了
}
int main()
{
char s[10] = {"abcd"};
printf....
.........
fun(s); //1、对函数传递一个数组就相当于传递一个指向数组首元素的指针
// 这里传入s就相当于传入一个指向s[0]的指针
// 数组的地址是连续的,可以通过递加这个指针得到s[1],s[2]..s[n]的值
}
//还有错误就是你的fun貌似没写返回类型,main函数也没写。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询