0

以下のコードに問題があります。経験豊富なコーダーにとっては初歩的なことだとは思いますが、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」が残りの変数と同じように自分自身を置き換えるようにコードを変更するにはどうすればよいかということです。

4

2 に答える 2

3

単にタイプミスがあります: &f を %f に変更してください

数 3 = &f

于 2013-05-02T04:45:23.773 に答える
0

問題はprintfにあります。番号 3 の printf ステートメントを に変更&fしてください。%f

于 2013-05-02T04:48:32.490 に答える