webForumDet fria alternativet

Enkel nybörjarfråga

C/C++ur C/C++

4 svar · 279 visningar · startad av Kristianstad

KristianstadMedlem sedan dec. 2002841 inlägg
#1

Hej! Håller på att lära mig C++ och skulle testa att göra ett testprogram på de kunskaper jag hittills fått, men det blev fel:

[blue]#include[/blue] <iostream>
[blue]using namespace[/blue] std;
[blue]int[/blue] main()
{
	[blue]int[/blue] size;
	cout << "Hur långt är ditt namn?\n";
	cin >> size;
	cout << "\nTack för den informationen! Vad heter du?\n";
	[blue]char[/blue] name[size];
	cin >> name;
	cout << "\nHej " << name << "!\n";
	[blue]return[/blue] 0;
}

Den skall först fråga efter hur långt namnet är. Sedan skall den fråga efter namnet och lägga till namnet till en char-array som är lika lång som första frågan.

Tack på förhand!

PeWMedlem sedan juni 200010 432 inlägg
#2

Du måste allokera dynamiskt... ex:

char *p;
int size;
cout << "Hur långt är ditt namn?\n";
cin  >> size;
p = new char[size +1];
...
...
...
delete [] p;
aasahMedlem sedan mars 20034 471 inlägg
#3

Hmmm, borde det inte vara:

p = new char[i + 1]; ?

Hur får det avslutande tecknet plats annars?

PeWMedlem sedan juni 200010 432 inlägg
#4

Javisst är det så :)

KristianstadMedlem sedan dec. 2002841 inlägg
#5

Tackar så mycket! Fungerade nu! :)

130 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)