Einladung zu einem Test in C

Gast #512537
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
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
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
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
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
@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?!
Gast #513610
>> Was war das?
>> char *(*(var[10]))(char *string1, char *string2)

Die Frage war in etwa: Welcher Datentyp wird initialisiert...?!?! 
Keiner, ';' fehlt. So ein Pech.
#514197
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?
Moderator Persönliche Seite #514311
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 #517281
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
Gast #520588
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

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.