Zadanie dotyczące wczytywania liczb przez makro - czy robię to poprawnie?

0

Witam, mam takie zadanie:

Napisz makro S(t,i), które przy użyciu funkcji scanf wczytuje do zmiennej i wartość zgodnie ze specyfikatorem typu t.

napisałem to tak:

#include <stdio.h>

#define makro(S, t) scanf(t, &S);

int main(void) {
    // your code goes here
    
    int a = 0;
    printf("%d\n", a);
    
    makro("%d", a);
    
    printf("%d\n", a);
    
    return 0;
}

ale mi zawsze wyswietla 0, nawet jak wpisze np. 6 :( i nie wiem, czy to aby na pewno zgdne z poleceniem? http://ideone.com/yNrN9i

0

Już w kodzie programu, w instrukcji makro masz

 makro("%d", a); 

a powinno być makro(a, "%d");

 tj. poniżej. Wcześniej, instrukcja makro w ogóle się nie wykonywała bo do S podstawiałeś "%d", a pod t zmienna a.

```c
#include <stdio.h>
 
#define makro(S, t) scanf(t, &S);
 
int main(void) {
    // your code goes here
 
    int a = 0;
    printf("przed modyfikacja %d\n", a);
 
    makro(a, "%d");
 
    printf("po modyfikacji %d\n", a);
 
    return 0;
}
0

Ok, widze błąd, ale nie wiem, czy to aby na pewno dobrze jest zrobione (to polecenie jest dla mnie dziwne): http://ideone.com/qSllCw

0

W poleceniu napisano zrobić: #define S(t,i) scanf(t,&i)

1 użytkowników online, w tym zalogowanych: 0, gości: 1