下列给定程序中,函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)。 例如:字符串中的数据为ADFESHDI,则输出应当是AFESDI。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。程序取名myf2.c。 【程序如下】 #include<stdio.h> #include<string.h> #define N 80 /************found***************/ void fun(char s,char t[]) { int i,j=0; for(i=0;i<strlen(s);i++) /************found***************/ if(i%2=0||s[i]%2!=0) t[j++]=s[i]; t[j]='\0'; } void main() {char s[N],t[N]; printf("\nPlease enter string s:"); gets(s); fun(s,t); printf("\nThe result is:%s \n",t); }
时间: 2023-07-23 21:20:59 浏览: 106
应该将函数定义改为void fun(char s[],char t[]),即将第一个参数从char改为char[],并在if语句中将等号改为等于号,即if(i%2==0||s[i]%2!=0)。修改后的程序如下:
```
#include<stdio.h>
#include<string.h>
#define N 80
void fun(char s[],char t[]) {
int i,j=0;
for(i=0;i<strlen(s);i++)
if(i%2==0||s[i]%2!=0)
t[j++]=s[i];
t[j]='\0';
}
void main() {
char s[N],t[N];
printf("\nPlease enter string s:");
gets(s);
fun(s,t);
printf("\nThe result is:%s \n",t);
}
```
阅读全文