A-A+

下列给定程序中 函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字

2022-08-06 01:32:58 问答库 阅读 174 次

问题详情

下列给定程序中,函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)。
例如:字符串中的数据为ADFESHDI,则输出应当是 AFESDI。
请改正程序中的错误,使它能得到正确结果。
注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <conio.h>
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]="";
}
main()
{
char s[N],t[N];
clrscr();
printf("nPlease enter string s:");
gets(s);
fun(s,t);
printf("nThe result is:%sn",t);
}请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:(1)错误:void fun(char schar t[]) 正确:void fun(char *schar t[])(2)错误:if(i%2=0||s[i]%2!=0) 正确:if(i%2=0 || s[i]%2!=0)
(1)错误:void fun(char s,char t[]) 正确:void fun(char *s,char t[])(2)错误:if(i%2=0||s[i]%2!=0) 正确:if(i%2=0 || s[i]%2!=0) 解析:错误1:由于本题中函数的功能是对字符串进行处理,而不是对单个字符进行处理,因此,函数的参数应为字符串指针。错误2:if语句中要用关系运算符,而不是赋值运算符。

考点:奇数,偶数