void removeCommas(string& str1, int len)
{
int j = 0;
for (int i = 0; i < len; i++)
{
if (str1[i] == ',')
{
continue;
}
else
{
str1[j] = str1[i];
j++;
}
}
str1[j] = '\0';
}
void main()
{
string str1;
getline(cin, str1);
int i = str1.length();
removeCommas(str1, i);
cout
Мой вопрос заключается в том, почему он показывает, что длина имеет 8 < /code> в выводе и показывает остальную часть строки, когда я поместил нулевый символ. Он должен отображать вывод как 200000
Я создал программу в C ++, которая удаляет запятые ([code],[/code]) из данного целого числа. то есть 2,00,00 вернет 20000 . Я не использую никакого нового пространства. Вот программа, которую я создал: < /p>
[code]void removeCommas(string& str1, int len) { int j = 0;
for (int i = 0; i < len; i++) { if (str1[i] == ',') { continue; } else { str1[j] = str1[i]; j++; } }
str1[j] = '\0'; }
void main() { string str1; getline(cin, str1); int i = str1.length(); removeCommas(str1, i); cout
Мой вопрос заключается в том, почему он показывает, что длина имеет 8 < /code> в выводе и показывает остальную часть строки, когда я поместил нулевый символ. Он должен отображать вывод как 200000 [/code], а длина имеет 6 .