m0_58290777 2021-05-30 13:13 采纳率: 57.1%
浏览 47
已结题

在该函数中,3个实参和3个形参是什么关系?

给定程序的功能是,将仅在字符串s

中出现而不在字符串t中出现的字符,和

仅在t中出现而不在字符串s中出现的字

符,构成一个新的字符串放在u中,u中

字符按原字符串中字符的顺序排列,不去

掉重复字符。

例如:当s="119345",t="

25484"时,u中的字符串应为"119328"

。#include<stdio.h>#include<

string.h>voidfun(chars[],

chart[],charu[])

{inti,j,sl,tl;

sl=strlen(s);tl=strlen(t)

;for(i=0;i<sl;i++){for(j=0;j<tl;j++)

if(s[i]==t[j])break;/***

*********found************/if

(j___1___tl)u[k++]=s[i];}for

(i=0;i<tl;i++){for(j=0;j<

sl;j++)

if(t[i]==s[j])break;/***

*********found************/if

(j___2___sl)u[k++]=t[i];

}/************found******

******/

___3___='\0';}voidmain()

{chars[100],t[100],u[100];

printf("\nPleaseenterstrings:

");scanf("%s",s);printf("\

nPleaseenterstringt:");scanf

("%s",t);

fun(s,t,u);

printf("Theresultis:%s\n"

,u);}

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-05-30 15:58
    关注

    void fun(char s[],char t[],char u[]),这里s/t/u是形参。在函数定义或声明中输入的都是形参。

    当函数被调用时,fun(s,t,u);放进去的是实参。

    形参的意思就是只要类型确定即可,名字叫什么没有关系,比方void fun(char s[],char t[],char u[])这里,写成

    void fun(char x[],char y[],char z[])也是一样的。形参的名字对函数功能没有影响。

    但是,实参就是实际存在的参数,比如在本例的main函数中,fun(s,t,u),如果换成fun(x,y,z)就是错误的,因为x,y,z不存在,实际存在的是 char s[100],t[100],u[100].

    如有帮助,请采纳一下,谢谢。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)