Forum
Öffentliche Foren |
FORUM: Spiele & Computer THEMA: Werteübergabe in C | |
AUTOR | BEITRAG |
Earth - Däääh
RANG Deckschrubber |
#1 - 27.05 11:14 Hi Leute,habe folgendes Programm geschrieben dass Werte an eine Funktion/Prozedur übergeben soll: code: #include <stdio.h> #include <string.h> void rechenwerk(char* zahl_1, char* zahl_2, char operation, int stellen, int zweierkomplement){ printf("\nZahl 1: %s",zahl_1); printf("\nZahl 2: %s",zahl_2); printf("\nRechenoperation: %c",operation); printf("\nAnzahl der Stellen: %d",stellen); printf("\nZweierkomplement anwenden: %d",zweierkomplement); } int main(void){ int stellen,zweierkomplement; char zahl_1[100],zahl_2[100],operation; printf("\n1.Binaerzahl eingeben:"); gets(zahl_1); printf("2.Binaerzahl eingeben:"); gets(zahl_2); printf("Rechenoperation eingeben:"); operation=getchar(); printf("Anzahl der Stellen eingeben:"); scanf("%d",stellen); printf("Zweierkomplement anwenden? (0=NEIN , 1=JA):"); scanf("%d",zweierkomplement); rechenwerk(zahl_1, zahl_2, operation, stellen, zweierkomplement); } Zahl1,Zahl2 und Rechenoperation werden richtig ausgegeben, allerdings erhalt ich bei der Ausgabe für "Anzahl der Stellen "14616" anstatt 20 und bei Zweierkomplement anwenden: anstatt 0 bzw. 1 die Zahl "317620" Wo mache ich hier den Fehler bei der Übergabe? |
SirLant
RANG Sucker |
#2 - 27.05 11:21 Du liest mit scanf() ein übergibst scanf aber keine Zeiger auf deine Variablen sondern deren Wert.So gehts: scanf("%d",&stellen); |
Earth - Däääh
RANG Deckschrubber |
#3 - 27.05 11:26 Danke für die schnelle Antwort. Bin wohl wieder auf nen Anfängerfehler drauf reingefallen.... |
giDDl *{empty}*
RANG Ober0wn3r |
#4 - 31.05 20:19 nicht zwangsläufig, denn ich geh mal nicht davon aus, dass ein anfänger auf anhieb zeiger versteht |