请编写一个函数fun(char *s),该函数的功能是把字符串中的内容逆置。 30
#include<string.h>#include<conio.h>#include<stdio.h>#defineN81voidfun(char*s){}main()...
#include <string.h>
#include <conio.h>
#include <stdio.h>
#define N 81
void fun(char*s)
{
}
main()
{
char a[N];
FILE *out;
printf("Enter a string:");
gets(a);
printf("The original string is:");
puts(a);
fun(a);
printf("\n");
printf("The string after modified:");
puts(a);
strcpy(a,"Hello World!");
fun(a);
/******************************/
out=fopen("out.dat","w");
fprintf(out,"%s",a);
fclose(out);
/******************************/
}
我编写的函数如下为什么执行不了呢?
int i,j=0;
char *p=s;
for(i=0;p[i]!='\0';i++);
while(i!=0)
{s[j++]=p[i];
i--;}
s[j]='\0';
求详解啊!! 展开
#include <conio.h>
#include <stdio.h>
#define N 81
void fun(char*s)
{
}
main()
{
char a[N];
FILE *out;
printf("Enter a string:");
gets(a);
printf("The original string is:");
puts(a);
fun(a);
printf("\n");
printf("The string after modified:");
puts(a);
strcpy(a,"Hello World!");
fun(a);
/******************************/
out=fopen("out.dat","w");
fprintf(out,"%s",a);
fclose(out);
/******************************/
}
我编写的函数如下为什么执行不了呢?
int i,j=0;
char *p=s;
for(i=0;p[i]!='\0';i++);
while(i!=0)
{s[j++]=p[i];
i--;}
s[j]='\0';
求详解啊!! 展开
3个回答
展开全部
char *p=s; => char p[N]; strcpy(p, s);
追问
详细一点啊,不懂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char* rev( char* s )
{
int i = strlen( s );
char* str = new char[ i + 1];
for( int c = 1; *s != 0; s++, c++ )
*( str + i - c ) = *s;
*( str + i ) = 0;
return str;
}
……用那么麻烦??
{
int i = strlen( s );
char* str = new char[ i + 1];
for( int c = 1; *s != 0; s++, c++ )
*( str + i - c ) = *s;
*( str + i ) = 0;
return str;
}
……用那么麻烦??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询