题目是给定程序中编写函数fun,函数fun的功能是:把字符a数组中的字符串按反序存放
发布网友
发布时间:2022-05-26 10:27
我来回答
共5个回答
热心网友
时间:2023-10-13 00:29
这里好像也不对for(i=0;j=strlen(a)-1;i<=j;i++,j--)因为for后面的括号中有且只有3个分号,这是固定语法结构,可以把j=strlen(a)-1;写到for语句前面去,也可以把第一个分号改写成逗号
还有一点,貌形参的变化不会引起实参值的变化,可是刚才试了试你编的程序,是对的,这里我有些不懂了,也求教下你
另外,附图一张,证明你程序的正确性
热心网友
时间:2023-10-13 00:29
#include<stdio.h>
#include<string.h>
fun(char a[],int len)
{
char ch;
int i,j;
for(i=0,j=len-1;i<=j;i++,j--)//此处有问题
{
ch=a[i];
a[i]=a[j];
a[j]=ch;
}
}
int main()
{
char str[100],length;
printf("请输入字符串:\n");
scanf("%s",str);
length=strlen(str);
fun(str,length);//将字符串长度作为参数传递,str仅仅是地址
printf("转换后的字符串是:%s\n",str);
system("pause");
return 0;
}
热心网友
时间:2023-10-13 00:30
#include<stdio.h>
#include<string.h>
fun(char a[])
{
char ch;
int i,j;
for(i=0,j=strlen(a)-1;i<=j;i++,j--)//是i=0,不是 i=0; (i=0后面是逗号,不是引号)
{
ch=a[i];
a[i]=a[j];
a[j]=ch;
}
}
main()
{
char str[100];
printf("请输入字符串:\n");
scanf("%s",str);
fun(str);
printf("转换后的字符串是:%s\n",str);
}
热心网友
时间:2023-10-13 00:31
for(i=0;j=strlen(a)-1;i<=j;i++,j--)
这里错了,改为
for(i=0,j=strlen(a)-1;i<=j;i++,j--)
热心网友
时间:2023-10-13 00:31
我是来做任务的