c语言 编写函数length(char*s)

编写函数length(char*s),其功能为计算字符串s的串长度并返回,注意不能使用函数strlea。编写函数convert(char*s),其功能是将字符串s倒置。编写主函数,输入字符串石头人,先调用lenghth函数输出串场,在调用convert函数,将字符串str倒置后输出。

#include<stdio.h>
int length(char*s)
{
int i;
for(i=0;s[i]=!'\0';i++);
return i;
}
void convert(char*s)
{
int i,j;
char t;
for(i=0;s[i]=!'\0';i++);
for(j=0;j<i/2;j++){
t=*(s+j);
*(s+j)=*(s+i-j-1);
*(s+i-j-1)=t;
}
}
void main()
{
char str[80];
int n;
gets(str);
n=length(str);
convert(str);
printf("%d",n);
puts(str);
}请问错在哪里

第1个回答  推荐于2017-09-19
int length(char*s){
int i;
for(i=0;s[i]!='\0';i++); // 注意 不等号
return i;
}
void convert(char*s){
int i,j;
char t;
i=length(s); // 调用长度
for(j=0;j<i/2;j++){
t=*(s+j);
*(s+j) = *(s+i-j-1);
*(s+i-j-1)=t;}
}本回答被提问者采纳
相似回答