在该函数中,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);}

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].

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