c语言菜鸟求大神解答下 感激不尽
编写函数voidrevstr(char*str),其功能是把字符串str反序。例如字符串str为”abcde”时,则处理后为”edcba”,要求:在main()函数中初始...
编写函数void revstr (char *str),其功能是把字符串str反序。例如字符串str为”abcde”时,则处理后为”edcba”, 要求:在main()函数中初始化字符串str并输出原字符串str,调用函数后在主函数中输出处理后的新字符串str。要求:不允许使用字符串库函数。
#include<stdio.h>int i;len(char str[]){ i=0; do { i++; } while(str[i]!='\0'); return i;}void revstr(char str[]){ int n=len(str); char strnew[100]; int j=0; for(i=n;i>=0;i--) { strnew[j]=str[i]; j++; } for(i=0;i<=j;i++) str[i]=strnew[i];}main(){ char str[]="shdfjsdh"; puts(str); revstr(str); puts(str);}求大神帮忙看下这个函数为什么输出不了反串的字符串啊 展开
#include<stdio.h>int i;len(char str[]){ i=0; do { i++; } while(str[i]!='\0'); return i;}void revstr(char str[]){ int n=len(str); char strnew[100]; int j=0; for(i=n;i>=0;i--) { strnew[j]=str[i]; j++; } for(i=0;i<=j;i++) str[i]=strnew[i];}main(){ char str[]="shdfjsdh"; puts(str); revstr(str); puts(str);}求大神帮忙看下这个函数为什么输出不了反串的字符串啊 展开
展开全部
你最好自己去下个vc之类的IDE
写出来的代码要多去调试,不然不会有多大提高
#include<stdio.h>
//全局变量不要乱用,会在不同函数中有影响 int i;
int len(char str[]) //少了返回值类型
{
int i=0; //用局部变量就可以了i=0;
do{
i++;
} while(str[i]!='\0');
return i;
}
void revstr(char str[])
{
int n=len(str);
char strnew[100];
int i=0; //用局部变量
int j=0;
for(i=n-1;i>=0;i--) //起始变量错误 n是str的长度,最后一个字符应该是str[n-1]
{
strnew[j]=str[i];
j++;
}
for(i=0;i<j;i++) // i<=j
str[i]=strnew[i];
}
int main()
{
char str[]="shdfjsdh";
puts(str);
revstr(str);
puts(str);
}
展开全部
char * fun_inverse(char *str) {
char *p = str;
char *q = str;
char tmp;
while ( *q != '\0' ) {
q++;
}
q--;
for (; p!=q; p++; q--) {
tmp = *p;
*p = *q;
*q = tmp;
}
return str;
}
int main(int argc, char *argv[])
{
char str[20] = "abcde";
fun_inverse(str);
printf("output the new string:\n");
puts(str);
return 0;
}
char *p = str;
char *q = str;
char tmp;
while ( *q != '\0' ) {
q++;
}
q--;
for (; p!=q; p++; q--) {
tmp = *p;
*p = *q;
*q = tmp;
}
return str;
}
int main(int argc, char *argv[])
{
char str[20] = "abcde";
fun_inverse(str);
printf("output the new string:\n");
puts(str);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询