Hallo, ich möchte jeden einladen einen Test über die Programmiersprache C mitzumachen. Bei Gefallen können Sie auch an einem Test über die Programmierung eingebetteter Systeme teilnehmen. Es handelt sich hierbei um eine rein universitäre Untersuchung. Jeder ist hierzu eingeladen. Am Ende der Untersuchung findet eine Verlosung eines Amazon-Gutscheines im Wert von 50 Euro statt. http://tokyo.ixi.informatik.rwth-aachen.de/phpsurveyor/Verlosung/Verlosung.php Wir danken für Ihre Teilnahme.
Ein Test der Webfähigkeiten des Testers wäre erstmal nötiger. Diese Seite verlangt Bildschirme breiter als 1024 Pixel. Zeilen umbrechen ist doch nun wirklich Urschleim der Webgestaltung. Peter
Aber trotzdem amüsant. Manchmal könnte man das Gefühl haben, dass es sich um einen Psychologietest handelt.
Frueher wurde sowas noch als Wettbewerb aufgezogen. Ein Compilermanual gab's natuerlich nicht. Zu dritt hatten wir nach vier Stunden nicht mal einen Dreizeiler, der lief. Die Aufgaben waren viel zu hoch angesetzt. Zu einem Compiler ohne manual ist schon ein "Hello world!" eine Riesenherausforderung. Z
Zapp wrote: > Zu einem Compiler ohne manual ist schon ein "Hello world!" eine > Riesenherausforderung. Das hat doch aber alles nichts mit einem Compilermanual zu tun. Ich habe eine Stelle gefunden, die undefined behaviour war, sonst ist alles Standard. Wäre natürlich interessant, hier danach eine Zusammenfassung der fundamentalen Erkenntnisse zu lesen, die beim Feldversuch heraus gekommen sind. ;-)
Da wurde irgendwo der Returntype von malloc gecastet. Mir war so, als wäre das unzulässig.
Patrick Dohmen wrote: > Da wurde irgendwo der Returntype von malloc gecastet. Mir war so, als > wäre das unzulässig. Nö, es ist lediglich unnötig, da void * zuweisungskompatibel mit anderen Zeigern ist.
Wenn ihr keine Ahnung habt, dann probiert es doch mal mit einem Compiler aus! Man kann zwar einen void pointer mit anderen pointern initialisieren, ABER andersrum geht es natürlich nicht implizit!
Hab's grad in 'nem anderen Kontext nochmal auf comp.lang.c gelesen: Ein Cast verhindert lediglich die Warnung, wenn das Headerfile nicht inkludiert wird.
1 | All the cast does is suppress important error |
2 | messages if you forget to include the header, nothing else. |
Nu, deshalb sag ich ja, unnötig, aber nicht unzulässig. Wobei er natürlich bei vernünftigem warning level die Warnung nicht verhindert:
1 | char *sayhi(void) |
2 | {
|
3 | char *x; |
4 | |
5 | x = (char *)malloc(42); |
6 | x[0] = 'H'; |
7 | x[1] = 'i'; |
8 | x[2] = '\0'; |
9 | |
10 | return x; |
11 | }
|
1 | % avr-gcc -Wextra -Wall -c foo.c |
2 | foo.c: In function 'sayhi': |
3 | foo.c:5: warning: implicit declaration of function 'malloc' |
4 | foo.c:5: warning: incompatible implicit declaration of built-in function 'malloc' |
OK, die zweite ist GCC, aber die erste sollte jeder vernünftige Compiler irgendwie bringen. Ohne dem Cast werden's übrigens nicht mehr Warnungen. ;-)
Hm, tja, keine Ahnung, was dann damit gemeint sein soll!? Hab's nicht selbst ausprobiert, war ja auch nur so ein "Bauchgefühl" ;-)
Sorry, wenn so eine Umfrage dazu führt dass einer sein Diplom bekommt, dann gute Nacht Deutschland.
@Gast: >>Was war das? >>char *(*(var[10]))(char *string1, char *string2) Da habe ich auch mein C-Buch gefragt ;) alo ich versuchs mal: ein array "var[10]" (die Klammern sind unnötig, [] geht VOR *) aus: Pointern auf: Funktionen die: zwei Pointern auf char als argumente nehmen und einen pointer auf char zurückgegen, so in etwa?!
Ja, so habe ich das sogar ohne C-Buch (aber mit Nachdenken :) gedeutet. Die Namen string1 und string2 haben dabei lediglich dokumentarischen Charakter.
>> Was war das? >> char *(*(var[10]))(char *string1, char *string2) Die Frage war in etwa: Welcher Datentyp wird initialisiert...?!?! Keiner, ';' fehlt. So ein Pech.
Bin mir ja nicht sicher, aber: >Ziehen Sie die Arbeit des Präprozessors anhand des Terms nach. >#define abs(x) x>0 ? x : -x >x = abs(a-(++b)); Feststellen das mindestens b nicht konstant ist (wird ja erhöht) => Fehler ausgeben ;) Ist das beabsichtigt?
F. Kriewitz wrote: > Feststellen das mindestens b nicht konstant ist (wird ja erhöht) > => Fehler ausgeben ;) > Ist das beabsichtigt? Nein, du sollst es doch nur ,,präprozessen''. Der Präprozessor kann derartiges nicht feststellen, der ist ein dummer Textprozessor. Übrigens liegst du auch falsch mit dem Fehler (nach dem Compilieren). Das Verhalten dieses Konstrukts ist sogar vollständig definiert, da der ternäre Operator eine zwingende Auswertungsreihenfolge hat. Ob das Ergebnis allerdings den Intentionen des Benutzers entsprach, steht auf einem anderen Blatt. ;-) Daher war es mal Usus, dass man Präprozessor-Makros (bei denen immer die Gefahr besteht, dass sie ihr Argument mehr als einmal bewerten) groß schreibt.
Nicht Firefox kompatibel :-(, (2 Tabelle !, wie faul kannst du sein ?) Danke
Tip: IETab plugin für den firefox. allerdings hatte ich keine probleme mit dem fuchs 2.0.0.2. imho trotzdem ne schwache leistung wenn du kein einzelfall bist. pumpkin
Das sind ja ganz neue Herangehensweisen, die mich beeindrucken. Auf der Website ist als Projektziel zu lesen: "welche den Menschen in die Qualität unter anderem bei der Herstellung eines Produktes mit einbezieht." Der Mensch wird bei der Herstellung eines Produktes mit einbezogen. Klasse! Bisher hab ich bei allem, was ich gebaut und hergestellt habe, eher meinen Hund gefragt. Das der Mensch dabei eine Rolle spielt, ist mir neu ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.