Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Code verbessern (war: C++ Noob)

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

ich sitz hier grad in der Schule und erfahre dass ich nächste Woche noch eine Stehgreifaufgabe und eine Schulaufgabe ( mitte Juni ) schreiben werde. Da ich AuP, so heißt es zumindestens bei uns nicht so ganz verstehe hoffe ich mit genug Vorbereitung noch mal richtig fett abzurocken.. Der Wille soll manchmal Berge versetzen können..

Wir besprechen grad ne Beispielaufgabe die evtl. dran kommen könnte. Es geht um Arrays und Pointer...

Hier die Aufgabe: "Bitte den unten stehenden Code verbessern"

Tipp: Der Underliner " _ " steht für einen Platzhalter, hier fehlt etwas

Aufgabe:

Void fht1 (int k2, int k4)

{

_k2 = 25;

_k4 = 26;

}

void fht2 (char _s)

{

s[1] = ’i’;

}

void main ()

{

int k1=0,k3=0; char str [] = “Hallo“;

fht (_k1,_k3);

cout << k1 << endl;  25

cout << str << endl;

cout << k3 << endl;  0

fht 2 (_str);

cout << str;

Kennzeichne:

*, &, /

Ich versteh halt echt absolut garnix von C++...

Ich hoffe Ihr könnt mir evtl. mal kurze Comments dazu schreiben was da gerade passiert...

Vielen Dank schonmal..

Cruise

Don_Mega


void fht1 (int *k2, int *k4) {  //erwartet 2 Pointer vom Typ Integer

	*k2 = 25;  //Verändert den Wert auf den die Pointer zeigen

	*k4 = 26;

}


void fht2 (char *s) {  //Erwartet ein Char Pointer

	s[1] = 'i';  //Verändert den 1 Index des Charackter auf 'i' 

                           //Benötigt kein * da char arrays bereits Pointer sind

}


void main () {

	int k1=0,k3=0; char str [] = "Hallo";

	fht1(&k1,&k3);  //Hier wird die Adresse der Variabeln k1 und k2 übergeben

	cout << k1 << endl; 

	cout << str << endl;

	cout << k3 << endl; 

	fht2(str); //Ein Char Array ist ein Pointer, deswegen brauchen wir kein Adresszeichen &

	cout << str;

}

so wäre es richtig....

Bearbeitet von duggy

Wenn du Codetags benutzt, kann man es besser lesen

Ich versteh halt echt absolut garnix von C++...

Da hilft ein gutes Buch.

//Benötigt kein * da char arrays bereits Pointer sind

Nicht ganz richtig:

k2, k4 sind bereits pointer und müssen trotzdem dereferenziert werden.

Der * kann bei s[1] weggelassen werden, weil

s[1] == *(s+1)

Bearbeitet von Panke

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.