www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstiges - Informatik" - Zeichenketten
Zeichenketten < Sonstige < Schule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Zeichenketten: Ausgabe
Status: (Frage) beantwortet Status 
Datum: 12:36 Sa 22.08.2009
Autor: DoktorQuagga

Aufgabe
Gegeben sind zwei Variablen strA und strB. Welche Ausgabe erzeugt dann
das folgende Code-Fragment?

char strA[] = [mm] "Guten\nMorgen!"; [/mm]
char strB[] = {'T', 'e', 'x', 't'};

[mm] printf("%s\n", [/mm] strA);
[mm] printf("%c%c%c\n", [/mm] strA[1], strA[2], strA[3]);
strB[3] = strA[13];
[mm] printf("%s\n", [/mm] strB+1);

Meine Ausgaben lauten:

[mm] printf("%s\n", [/mm] strA); -> Guten Morgen!
[mm] printf("%c%c%c\n", [/mm] strA[1], strA[2], strA[3]); -> ute
strB[3] = strA[13];
[mm] printf("%s\n", [/mm] strB+1); -> ex

Ist das so richtig?

danke


zusätzliche Frage:
Wieviel Speicherplatz in Bytes belegen jeweils die beiden Variablen strA und strB?

        
Bezug
Zeichenketten: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:02 Sa 22.08.2009
Autor: fencheltee


> Gegeben sind zwei Variablen strA und strB. Welche Ausgabe
> erzeugt dann
>  das folgende Code-Fragment?

code solltest du in zukunft mit [code]irgendein code[/code] einfügen (damit mans auch lesen kann)

>  

1: char strA[] = "Guten\nMorgen!";
2: char strB[] = {'T', 'e', 'x', 't'};
3:
4: printf("%s\n", strA);
5: printf("%c%c%c\n", strA[1], strA[2], strA[3]);
6: strB[3] = strA[13];
7: printf("%s\n", strB+1);

>  Meine Ausgaben lauten:
>  
> [mm]printf("%s\n",[/mm] strA); -> Guten Morgen!
>  [mm]printf("%c%c%c\n",[/mm] strA[1], strA[2], strA[3]); -> ute

>  strB[3] = strA[13];
>  [mm]printf("%s\n",[/mm] strB+1); -> ex

>  
> Ist das so richtig?
>  
> danke

hilfreich wären entwicklungsumgebungen wie dev-c++ bzw java um das ergebnis direkt überprüfen zu können

>  
> zusätzliche Frage:
>  Wieviel Speicherplatz in Bytes belegen jeweils die beiden
> Variablen strA und strB?


Bezug
        
Bezug
Zeichenketten: Wohl kaum
Status: (Antwort) fertig Status 
Datum: 10:13 So 23.08.2009
Autor: Infinit

Hallo,
wie kann ein "Guten Morgen!" zustande kommen, wenn "Morgen!" nirgends zugewiesen wurde?
Der "ute"-Ausdruck ist okay.
Bei der nächsten Zuweisung sollte ein guter Compiler sagen, dass dies nicht geht, da die Bereichsgrenze überschritten wurde. Irgendwas steht wahrscheinlich an dieser Stelle A(13) im Speicher drin, aber was, weiss kein Mensch. Ensprechend nicht nachvollziehbar ist die Ausgabe für strB+1.
strA braucht 7 Byte, strB 4 Byte.
VG,
Infinit


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]