解题思路以及注意事项:

  1. 注意一定要定义全局的数组或者现在主函数里面定义,然后传参给自定义函数。

  2. 注意数组的开始是a[0]。

  3. 输入字符串用scanf可以不加&,因为数组名就是其首地址。

  4. 别忘了给存放逆序字符的数组加上结束标志。

实力代码:

#include"stdio.h"
void trans(char a[],char b[]);                     //别忘了加分号
int main()
{
    char ch1[100],ch2[100];
    scanf("%s",ch1);
    trans(ch1,ch2);                                //传参
    printf("%s",ch2);
    return 0;
}
void trans(char a[],char b[])
{
    int i=0,n;
    n=strlen(a);                                   //计算数组a中有几个字符用strlen(里面加数组名即可);
    while(a[i]!='\0')
    {
        b[n-i-1]=a[i]; 
        i++;
    }
    b[n]='\0';
}

如果还有什么不懂的请在下方评论区留言,小方会在看到的第一时间给您满意的答复

点赞(10)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 5 条评论

Aceks 7年前 回复TA
我也很奇怪,我把楼主的代码放到VS2017一直报错,加入了string也不行
原种场的鹏哥 7年前 回复TA
strlen不要头文件?小方~
Mister-小方 7年前 回复TA
@Langzihao. 像scanf()这样的语句应该在int,double等的后面,你试试将for调到int j的后面
Langzihao. 7年前 回复TA
#include <stdio.h>

void nixu(char c1[20]){
	char c2[20];
	int i;
	for(i=0;c1[i]!='\0';i++);//判断字符串长度 
	int j;
	i--;
	for(j=0;i>=0;i--){
		c2[j++]=c1[i];
	}
	printf("%s",c2); 
} 
int main()
{
	char c[20];
	gets(c);
	nixu(c); 
	return 0;
}
Langzihao. 7年前 回复TA
小方你好,我是浪子豪(Langzihao),你能帮我看看我的代码错在哪里吗?为什么他一直显示答案错误,谢谢你。