以下のコードに問題があります。経験豊富なコーダーにとっては初歩的なことだとは思いますが、C で何かをコーディングしようとするのはこれが初めてなので、ご容赦ください。
#include <stdio.h>
int main()
{
printf("This program, or function, substitutes one given number for another given number, and then places the former with the latter number. ");
float y1 = 10; /* Assign value to variable 1*/
float y2 = 20; /* Assign value to variable 2*/
float y3 = 30; /* Assign value to variable 3*/
float y4 = 40; /* Assign value to variable 4*/
void sub( float *, float *, float *, float * ); /*declare function prototype*/
printf("\nThe numbers' given values before the aforementioned function: Number 1 = %f , Number 2 = %f\n , Number 3 = &f , Number 4 = %f", y1, y2, y3, y4 );
sub( &y1, &y2, &y3, &y4 ); /*This is where the function, to move the numbers, is called */
printf("\nThe numbers' given values after the aforementioned function: Number 1 = %f , Number 2 = %f\n , Number 3 = &f , Number 4 = %f", y1, y2, y3, y4 );
}
void sub(float *z1, float *z2, float *n3, float *n4)
{
int z;
int n;
z = *z1;
*z1 = *z2;
*z2 = z;
n = *n3;
*n3 = *n4;
*n4 = n;
}
出力は次のとおりです。
This program, or function, substitutes one given number for another given number, and then places the former with the latter number.
The numbers' given values before the aforementioned function: Number 1 = 10.000000 , Number 2 = 20.000000 , Number 3 = &f , Number 4 =
30.000000
The numbers' given values after the aforementioned function: Number 1 = 20.000000 , Number 2 = 10.000000 , Number 3 = &f , Number 4 =
40.000000
私の質問は、「番号 3」が残りの変数と同じように自分自身を置き換えるようにコードを変更するにはどうすればよいかということです。