i
, gdyż stoi po przekonwertowaniu do char będzie odpowiadać jego ascii tokena (w tym przypadku STX
) Patrz tabela tutaj: http://www.asciitable.com/
Dodając '0'
do numeru, który skutecznie czyni go prawidłową wartość ASCII .
Oczywiście dotknąłeś dokładnie problemu z tym kodem, który jest taki, że nie jest od razu oczywiste, co robi. Należy rozważyć zamiast robić coś takiego, jeśli chcesz używać C-style:
itoa(i);
lub nawet lepiej trzymać się C++:
std::stringstream ss;
ss << i;
ss.str(); //for strings
ss.str().c_str(); // for c-style strings.
Co jest 'char (i + '0'); 'in C++? (* To jest faktyczne pytanie. *) – this
@to to kompiluje na topcoder:/ – sgarza62
@this, Jest to liczba całkowita 'i' dodana z' '0'' promowana do liczby całkowitej, wynik jest rzutowany na 'char' z funkcjonalnym stylem obsady, który działa tak samo, jak obsada w stylu C. – chris