Чтобы попрактиковаться в использовании указателей и массивов, я пытаюсь создать простую программу, способную преобразовать двоичный вход в динар. Я думаю, у меня есть хорошая идея для логики, но я даже не удосужился попытаться реализовать это потому что я изо всех сил пытаюсь запустить мой цикл для !
Это кажется глупым, но я знаю, что код внутри цикла for отлично работает вне его, , поэтому должно быть что-то не так с условием ..? я пытаюсь начать в конце массива char (навигация с помощью указателей) и выводить каждый символ (как целое число) до первого элемента.
Таким образом, желаемый результат - «0 - 1 - 0 - 1 -»
#include <iostream>
using std::cout;
using std::endl;
//prototypes
void binaryToDenary(const char* input, int& inputLength);
int main(){
const char binaryInput[] = {1,0,1,0};
int inputLength = sizeof(binaryInput)/sizeof(binaryInput[0]);
binaryToDenary(binaryInput, inputLength);
return 0;
}
void binaryToDenary(const char* input, int& inputLength){
//testing some stuff--- this all works as expected
//cout << input[2] << " " << (int)*(input+2) << " " << inputLength <<endl;
int i;
for(i = inputLength; i < 0; i--){
cout << (int)*(input+i) << " - ";
}
}