c语言中的程序改错题···求各位帮帮,为过计算机二级,跪求各路好汉了
程序改错并改正哦···程序的功能是:将字符数组的字符串逆序存放#include<stdio.h>#include<string.h>#defineARR_SIZE=80;...
程序改错并改正哦···
程序的功能是:将字符数组的字符串逆序存放
#include<stdio.h>
#include<string.h>
#define ARR_SIZE=80;
void inverse(char str[ ]);
int main( )
{
char a[ARR_SIZE];
printf("please enter a string:");
gets(a);
inverse(char a[ ]);
printf("The inversed string is:");
puts(a);
return 0;
}
void inverse(char str[ ])
{
int len,i=0,j;
char temp;
len=strlen(str);
for(j=len;i<j;i++,j--)
{
temp=str[i];
str[j]=str[i];
str[j]=temp;
}
} 展开
程序的功能是:将字符数组的字符串逆序存放
#include<stdio.h>
#include<string.h>
#define ARR_SIZE=80;
void inverse(char str[ ]);
int main( )
{
char a[ARR_SIZE];
printf("please enter a string:");
gets(a);
inverse(char a[ ]);
printf("The inversed string is:");
puts(a);
return 0;
}
void inverse(char str[ ])
{
int len,i=0,j;
char temp;
len=strlen(str);
for(j=len;i<j;i++,j--)
{
temp=str[i];
str[j]=str[i];
str[j]=temp;
}
} 展开
4个回答
展开全部
在inverse()中,将len=strlen(str)改成len=strlen(str)-1,因为数组的下标是从0开始的
还有将str[j]=str[i]改为str[i]=str[j];
#define为宏定义,即把ARR_SIZE定义为80,在预编译时把ARR_SIZE替换为80.
还有就是ls所指出的错误
还有将str[j]=str[i]改为str[i]=str[j];
#define为宏定义,即把ARR_SIZE定义为80,在预编译时把ARR_SIZE替换为80.
还有就是ls所指出的错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错的地方好多啊,下面是正确的代码。。。
#include<stdio.h>
#include<string.h>
#define ARR_SIZE 80
void inverse(char str[ ]);
int main( )
{
int b;
char a[ARR_SIZE];
printf("please enter a string:");
gets(a);
inverse(a);
printf("The inversed string is:%s\n",a);
puts(a);
return 0;
}
void inverse(char str[])
{
int len,i=0,j;
char temp;
len=strlen(str)-1;
for(j=len;i<j;i++,j--)
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
}
运行结果:
please enter a string:abcdefg1234567
The inversed string is:7654321gfedcba
7654321gfedcba
请按任意键继续. . .
#include<stdio.h>
#include<string.h>
#define ARR_SIZE 80
void inverse(char str[ ]);
int main( )
{
int b;
char a[ARR_SIZE];
printf("please enter a string:");
gets(a);
inverse(a);
printf("The inversed string is:%s\n",a);
puts(a);
return 0;
}
void inverse(char str[])
{
int len,i=0,j;
char temp;
len=strlen(str)-1;
for(j=len;i<j;i++,j--)
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
}
}
运行结果:
please enter a string:abcdefg1234567
The inversed string is:7654321gfedcba
7654321gfedcba
请按任意键继续. . .
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
inverse(char a[ ]);
改为
inverse(a);
temp=str[i];
str[j]=str[i];
str[j]=temp;
改为
temp=str[i];
str[i] = str[j];
str[j]=temp;
改为
inverse(a);
temp=str[i];
str[j]=str[i];
str[j]=temp;
改为
temp=str[i];
str[i] = str[j];
str[j]=temp;
更多追问追答
追问
这个错误我知道,应该不止一处啊···
追答
#define ARR_SIZE=80;
改为
#define ARR_SIZE 80
for(j=len;i<j;i++,j--)
改为
for(j=len -1;i<j;i++,j--)
就这么多了,我在tc2.01下运行成功了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#define ARR_SIZE=80;
改为
#define ARR_SIZE 80
这是宏定义!
规定的东东,没办法!
改为
#define ARR_SIZE 80
这是宏定义!
规定的东东,没办法!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询