Имеется следующий код:
#include <iostream>
#include "big_int.h"
using namespace std;
int main() {
char *num = "124141414141444134";
big_int a;
cout << (int)num[0] << endl;
a = num;
cout << a;
}
Проблема в том, что выводится (первый cout
) не 0-ой символ, т.е. 1
, а число 49
...
Число 49
соответствует коду символа '1'
в таблице ASCII.
То есть внутренне в машине символ '1'
хранится в виде данного кода, А, например, в таблице EBCDIC символу '1'
соответствует код 241
.
Если вы хотите вывести именно 1, то вам следует либо написать просто
cout << num[0] << endl;
либо
cout << num[0] - '0' << endl;
Имейте в виду, что строковые литералы имеют тип константных символьных массивов. Поэтому необходимо добавить квалификатор const
в объявлении
const char *num = "124141414141444134";
Виртуальный выделенный сервер (VDS) становится отличным выбором
Работаю над распознаванием фигур в OpenCVЧтобы найти четырехугольник, смотрю на количество вершин:
Доброе время суток, Можно ли объединить следующие запросы в один запрос?:
ПриветствуюСоздаю свое первое клиент-серверное приложение, поэтому хочу проконсультироваться с более опытными разработчиками