Ich bin neu in der Programmierung und ich arbeite derzeit an C.Aufruf von Wert in C
Ich habe gelernt, dass C hat keinen Anruf per Referenz. Die Programme, die wir schreiben die Adresse der aktuellen Parameter auf die formalen Parameter übergeben wird, rufen auch von Wert in C.
Korrigieren Sie mich, wenn ich falsch bin .. aber ich dieses Programm lief:
// Tauschen von zwei Zahlen mit Funktionen. #include
void swap(int *,int *);
void main()
{
int x,y;
printf ("Enter the values of x and y : ");
scanf("%d %d",&x,&y);
swap(x,y);
printf("The value of x = %d and y = %d",x,y);
}
void swap(int *a,int *b)
{
int temp;
temp=*b;
*b=*a;
*a=temp;
}
Es kompiliert ganz gut .. aber ich bin in der Ausgabe einen Segmentation Fault zu bekommen.
Es fragt mich, die den Wert von X und Y eingeben und dann gibt, Fehler Segmentation ..
Bitte helfen !!
Sie sollten 'Swap-Pass (& x, & y)' die Adresse zu übergeben dieser Variablen. – vtha
Es wird nicht nur kompilieren, wenn Sie alle Warnungen und Debug-Informationen aktivieren. Mit 'gcc -Wall -Wextra -g' mit [GCC] (http://gcc.gnu.org/) erhalten Sie * Warnungen, auf die Sie achten sollten. –
Was sagt Ihnen Ihr Compiler? –