-7

Ich habe etwas, was wie folgt aus:C-Programm und Makros

#define num1 6 
#define num2 3 

Ich möchte diese zwei Makros zu multiplizieren und konvertieren es in String und Speicher in einem mehr Makro. Bitte geben Sie Ihre Vorschläge, wie dies zu tun ist.

+0

zeigen Sie bitte Ihre Forschung/Debug-Aufwand so weit. Bitte lesen Sie zuerst die [Ask] -Seite. –

+0

Warum ein Makro? Konvertieren in eine Zeichenfolge kann nicht auf diese Weise erfolgen. –

+1

Wenn Sie das im Präprozessor machen wollen, dann ist das nicht wirklich möglich (außer Sie betrachten eine sehr lange Kaskade von '# if' Direktiven als eine Möglichkeit) – fuz

Antwort

0

Wenn Sie ein drittes Makro haben wollen, die das Ergebnis der Multiplikation dieser beiden Zahlen ist, können Sie es wie folgt tun:

#define num1 6 
#define num2 3 
#define num3 (num1*num2) 

Anschließend können Sie es wie folgt drucken:

printf("num3=%d\n", num3); 

Wenn Sie diesen Wert in einer Zeichenfolge speichern möchten, können Sie dies tun:

char num3str[10]; 
sprintf(num3str, "%d", num3);