Die letzten 6 Beiträge |
Karlito |
Hallo Tim45,
Zitat: |
Original von Tim45
ist es eigentlich erlaubt hier a = 3 und b= 2 zu entfernen?
|
Die Aufforderung das Programm zu verbessern lässt viel Raum für Interpretationen. Prinzipiell spricht erstmal nichts dagegen, die Neudeklaration und Wertezuweisung zu entfernen. Damit nicht einfach nur 3 mal das selbe da steht, würde ich an deiner Stelle das Programm ein wenig modifizieren. Also kannst du zum Beispiel in f2 a*2 + b*3 berechnen und in f3 einfach 25^2 oder eine Zufallszahl ausgeben (dafür keinen Parameter annehmen, also f3 als f3() belassen). Dementsprechend würde ich noch die Ausgabe durch printf anpassen.
VG,
Karlito |
Tim45 |
danke erst mal.
ist es eigentlich erlaubt hier a = 3 und b= 2 zu entfernen?
und bei mir kommt jetzt überall a+b=11 raus. hab das was du mir kommntiert hast schon verbessert
int f2 (int a, int b)
{
int a = 3, b = 2;
return a+b;
} |
Karlito |
Hallo,
ich habe deinen Code mal kommentiert.
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:
26:
27:
28:
29:
|
#include<stdio.h>
int f1(int, int);
int f2(int, int);
int f3 (); //Wenn die Implemntierung von f3 zwei Parameter enthält
//Dann muss dies im Prototypen auch so sein
int main ()
{
int a = 5, b = 6;
printf("a+b=%d \n", f1(a,b));
printf("a+b=%d \n", f2(a,b));
printf("a+b=%d \n", f3()); //f3 ist durch den Prototypen zwar deklariert
//aber nirgendwo implementiert. Die Implementierung
//fordert 2 Parameter (int a, int b)
return 0;
}
int f1 (int a, int b)
{
return a+b;
}
int f2 (int a, int b)
{
return a+b;
}
int f3 (int a, int b) //ist in main nicht bekannt, da der Prototyp anders deklariert ist
{
return a+b;
}
|
|
VG,
Karlito |
Tim45 |
hab das jetzt mal verbessert, aber immer noch ein Problem mit Funktion 2, was kann ich da machen? Hab die werte nämlich jetzt einfach nur entfernt...
#include<stdio.h>
int f1(int, int);
int f2(int, int);
int f3 ();
int main ()
{
int a = 5, b = 6;
printf("a+b=%d \n", f1(a,b));
printf("a+b=%d \n", f2(a,b));
printf("a+b=%d \n", f3());
return 0;
}
int f1 (int a, int b)
{
return a+b;
}
int f2 (int a, int b)
{
return a+b;
}
int f3 (int a, int b)
{
return a+b;
} |
marie m |
RE: C -Code
Hallo!
In der f2 werden a und b doppelt deklariert und in f3 werden sie gar nicht deklariert.
Vor der main() hast du nur die Funtion f1 deklariert. |
Tim45 |
C -Code
Meine Frage:
Hallo,
ich muss diesen Code verbessern, aber weiß nicht wie.
#include<stdio.h>
int f1(int, int);
int main ()
{
int a = 5, b = 6;
printf("a+b=%d \n", f1(a,b));
printf("a+b=%d \n", f2(a,b));
printf("a+b=%d \n", f3());
return 0;
}
int f1 (int a, int b)
{
return a+b;
}
int f2 (int a, int b)
{
int a = 3, b = 2;
return a+b;
}
int f3 ()
{
return a+b;
}
Meine Ideen:
Ich hab leider keine Ideen. Ich weiß nur, dass a und b redeklariert werden. Aber nicht wie ich das Problem löse. |
|
|