Pourquoi cette méthode d'échange de valeurs n'a - t - elle pas réussi?

Questions et réponses du rseoc 2021-12-30 10:42:59 阅读数:539

pourquoi cette thode change valeurs
#include<stdio.h>void f(int x,int y){ int t; if(x<y){ t=x; x=y; y=t; }}int main(){ int a=2,b=3; f(a,b); printf("a=%d,b=%d\n",a,b);}



Adopter les réponses:
#include<stdio.h>void f(int& x,int& y){ int t; if(x<y){ t=x; x=y; y=t; }}int main(){ int a=2,b=3; f(a,b); printf("a=%d,b=%d\n",a,b);}

img


Changez ça pour que,&Appelez la citation
S'il vous plaît, prenez - le.!Merci beaucoup.!



Autres réponses2:

La valeur n'est pas passée àmain- Oui.,Il faut le changer en pointeur.
C'est une méthode.

#include<stdio.h>void f(int *x,int *y){ int t; if(*x<*y) { t=*x; *x=*y; *y=t; }}int main(){ int a=2,b=3; f(&a,&b); printf("a=%d,b=%d\n",a,b);}

Autres réponses3:

Tu metsa,b Passé à la fonction x,y, x,y Les valeurs de sont échangées ,Mais...a,b Il y a un échange?

版权声明:本文为[Questions et réponses du rseoc]所创,转载请带上原文链接,感谢。 https://primo.wiki/2021/12/202112300106210536.html