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

在该函数中,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 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。
  • ¥15 GitHubssh虚拟机连接不上