Mi a hiba ebben a C++ kódban?
#include <iostream>
using namespace std;
int main()
{
// 1. Feladat:
// A program bekér két változót, "a"-t és "b"-t. Cseréld meg a két változó értékét.
int e;
int f;
cout << "e = ";
cin >> e;
cout << "f = ";
cin >> f;
cout << '\n\n';
e = e + f;
f = e - f;
e = e - f;
cout << "Elso feladat:" << endl;
cout << "e = " << e << endl;
cout << "f = " << f << endl;
return 0;
}
Output:
e = 5
f = 7
2570Elso feladat:
e = 7
f = 5
A 2570 miért van ott? Miért nincs sorkihagyás? Mit rontottam el a kódban?
cout << '\n\n';
Karakterek kerülnek ' ' közé, stringeknek " " között kell lenniük
cout << '\n\n';
Kiírja a fordító:
warning: multi-character character constant [-Wmultichar]
String kiírásához dupla idézőjelet használj. Nem értek hozzá, de gondolom, a többi dolog a pufferben maradt karakter folyománya.
Ha Linux alatt, g++-al fordítod le a kódot, figyelmeztet:
a szimpla aposztrófok között megadott karaktersorozat egy több karakterből álló szimpla karakterkonstans.
A sortörés az ASCII-táblában hexadecimálisan 0a (decimálisan: 10) értékű. Két darab sortörés hexadecimálisan 0a0a (decimálisan 2570, hiszen 10*256 + 10 = 2570) értékkel bír.
Ha két sortörést akarsz, csináld így:
cout << "\n\n";
vagy így:
cout << endl << endl;
esetleg így:
cout << '\n' << '\n';
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!