Ich möchte wissen, ob es eine Möglichkeit gibt, die ursprünglichen Werte zu aktualisieren, indem Sie den Wert pass by verwenden.Aktualisiere aktuelle Werte mit pass by Wert
Auch möchte ich wissen, ob ich hier Adresse zurück zur Haupt
aktualisiert zurückkehren Ich möchte nicht über einen Verweis verwenden ursprünglichen Werte in Haupt zu tauschen.
#include<stdio.h>
int a = 100;
int f =200;
int *p, * q;
swap(int, int);
main()
{
printf("%d %d\n", a,f);
swap(a, f);
printf("%d %d\n",a ,f); //values remain same here how to change them
}
swap(int a, int f)
{
int t;
p=&a;
q=&f;
t=*p;
*p=*q;
*q= t;
printf("%d %d\n",a ,f);
}
Nein Referenzsemantik kann in C mithilfe von Zeigerparametern und Adressoperationen implementiert werden; Die Zeiger werden in dieser Anordnung als Wert übergeben. –
Bitte formatieren Sie Ihren Code. –
Sie * könnten * ein Makro anstelle einer Funktion verwenden. – EOF