Einladung zu einem Test in C

Gast #512537
Lesenswert?

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.
Gast #512878
Lesenswert?

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
Moderator Persönliche Seite #512913
Lesenswert?

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. ;-)
Gast #512953
Lesenswert?

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!
Moderator Persönliche Seite #512971
Lesenswert?

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. ;-)
Gast #513527
Lesenswert?

@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?!
Moderator Persönliche Seite #514311
Lesenswert?

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.
Gast #520588
Lesenswert?

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 ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren