Zahl ausgeben...

Neue Frage »

Auf diesen Beitrag antworten »
bandchef Zahl ausgeben...

Hi Leute!

Ich bin absoluter C Anfänger und brauch dringen eure Hilfe! Ich hoffe ihr könnt mir helfen!

Ich hab folgenden Quellcode:

#include<stdio.h>
#include<stdlib.h>

int main (int argc, char* argv[])

{
void PrintBitLine (4711);
{ int i;
for (i=0; i <16; i ++)
{ if(us & (0 x8000 >>i))
printf ("1");
else
printf ("0");
}
printf ("\n");
}


system("PAUSE");
return 0;

Dieses Programm sollte mir nun anscheind die Zahl 4711 in Binär ausspucken. Wenn ich es kompilieren lasse bringt er mir aber 6(!) Fehler. Da ich totaler Anfänger bin, bin ich etwas überoferdert!

Danke
 
Auf diesen Beitrag antworten »
ed209

Bitte schick doch auch die Fehler gleich mit, damit nicht jeder Helfer es selber ausprobieren muß.

Außerdem hilft es den CODE-Tag zu benutzen damit die Einrückungen erhalten bleiben.

PS: Versuch doch weiter zu beschreiben was du genau vor hast, ich werd aus dem Code naemlich nicht ganz schlau wie du versuchst das Problem anzugehen.
Auf diesen Beitrag antworten »
David_pb

Du solltest dich dringend mal mit den Grundlagen beschäftigen!

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
#include<stdio.h>
#include<stdlib.h>

int main (int argc, char* argv[])
{
	// Funktionsdefinitionen dürfen nicht lokal sein. Nach der Signatur haben Definitionen kein Semikolon. Funktionsaufrufe sind keine Funktionsdefinitionen und auch nicht damit vereinbar...
	void PrintBitLine (4711); 
	{ 
		int i;
		for (i=0; i <16; i ++) // i ++ ist unschön!
		{ 
			 // 0 x8000 ist schlichtweg falsch. Das Leerzeichen muss weg! Außerdem existiert "us" nicht.
			if(us & (0 x8000 >>i)) 
				printf ("1");
			else
			printf ("0");
		}

	// Hier fehlt eine schließende Klammer

	printf ("\n");
}


Also nochmal zusammengefasst:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
#include <stdio.h>
#include <stdlib.h>

void PrintBitLine(int us)
{ 
	int i;
	for (i=0; i < 16; i++)
	{ 
		if(us & (0x8000 >>i))
			printf ("1");
		else
			printf ("0");
	}

	printf ("\n");
}

int main (int argc, char* argv[])
{
	PrintBitLine(4711);
	
	return 0;
}
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »