Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Golfer an die Front! Heute lernt ihr zählen.

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ] [ 5 ]
010
28.08.2003, 13:00 Uhr
virtual
Sexiest Bit alive
(Operator)


@Windalf

C++:
main(x,a){for(x=atoi(a[1]);x<=atoi(a[2]);printf("%d\n",x++);}


Geht nicht, weil a so wie es dar steht kein Array ist, jedenfalls gemäß Deklaration. Folglich dürfte Dein Compiler a[1] und a[2] nicht akzeptieren.

Code:
a.c:1: subscripted value is neither array nor pointer
a.c:1: subscripted value is neither array nor pointer
a.c:1: parse error before `;'


sagt mein gcc dazu
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
28.08.2003, 13:05 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ach so
mein compiler meckert da sowieso immer
ich muss immer main(int x;char**a) schreiben
Ich dachte das geht immer so das man das weglässt weil der standard das implizit vorschreiben würde und da wollte ich das dann einfach weglassen.
Hattest du da nichtmal was zu geschrieben?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
28.08.2003, 13:25 Uhr
virtual
Sexiest Bit alive
(Operator)


@Windalf
Ich schreibe viel, wenn der Tag lang ist ;D
Mit impliziten Deklarationen verhält es sich so:
In C99 ein großes NoNo. In veralteten Standards geht das:

Wenn Du eine Funktion benutzt, die nicht deklariert ist, dann wird als Rückgabewert int angenommen und als Typ für die parameter der, den das entsprechende Argument hat:

C++:
char* x;
int* y;
f(x,y);


Bedeutet - wenn f nicht deklariert wurde - daß der Compiler fortan davon ausgeht, daß f so deklariert ist:

C++:
int f(char*, int*);


Nun ist bei main der Spezialfall, daß es nichta ufgerufen wurde, Wen Du nun

C++:
main(a,b)


schreibst, Glaubt der Compiler zunächstmal, daß es ausgeschrieben ein

C++:
int main(int a, int b)


Sein würde, weil hier die Regel übernommen wird, daß Variablen nach int defaulten:

C++:
static i;
const j;
register k;
auto l;


sind auch alle (nach <C99) ints.

Bei Beefy findest Du öfters folgende Sequenz:

C++:
main(a,s)char**s;{...


Also Extremgolfer versucht er sich darum zudrücken, daß man nicht schreiben darf:

C++:
main(a,char**s){...


(geht nicht, weil entweder alle oder keine der Parameter fehlende Typen haben müssen). Daher benutzt er eine Schreibweise, die bereits in C89 als vermeidungswürdig eingestuft wurde.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
28.08.2003, 13:33 Uhr
0xdeadbeef
Gott
(Operator)


Aber sie geht. Trotzdem, dass ich atoi vergessen konnte... Also gut, damit krieg ichs auf 69.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
28.08.2003, 13:37 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ok danke dann werd ich ab jetzt einfach immer die komplette schreibweise nehmen also die

C++:
main(int x,char**a){...}


wenn man als einzigen verbesserungsvorschlag dann noch den macht

C++:
main(x,a)char**a;{...


dann überhör ich das einfach
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
28.08.2003, 14:09 Uhr
0xdeadbeef
Gott
(Operator)


Keiner mehr? Gut, dann rück ich mal raus:

C++:
main(n,s)int*s;{for(n=atoi(s[1]);n<=atoi(s[2]);)printf("%d\n",n++);}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 28.08.2003 um 14:09 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
28.08.2003, 14:13 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wenn ich so mit meiner Lösung vergleich fällt mir auf das deine ja total anders ist beefy;
Ich glaub der Mathematiker nennt das Umbennung von Variablen
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
28.08.2003, 14:50 Uhr
0xdeadbeef
Gott
(Operator)


Ich hab nur die sscanfs, die ich (dämlicherweise) vorher benutzt hab, gegen atois ausgetauscht. Außerdem war deine nicht mal lauffähig!

Naja, eine gewisse Ähnlichkeit lässt sich nicht leugnen , die eigentliche Neuerung ist das int*s anstelle eines char**s. Da s höchstens einmal dereferenziert wird, läuft das so trotzdem, auch wenn der Compiler ne Warnung rausschmeißt...
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
28.08.2003, 14:52 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


die int*'s hab ich auch probiert aber die wollte mein compiler nicht haben.
Ich habe die eingentlich aus dem grund probiert weil ich mir die atoi's sparen wollte.
Müsste das nicht bei dir gehen?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
28.08.2003, 14:54 Uhr
0xdeadbeef
Gott
(Operator)


Du kannst s schon als int* deklarieren, aber die atois sparst du damit nicht - in s[x] ist ja nur eine Adresse auf einen String gespeichert, nicht die Zahl, die dieser möglicherweise darstellt.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ] [ 5 ]     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: