Суть ошибки вот в чём, надо составить программу, которая на входе получает "базис счисления" и "последовательность цифр" Базис может принимать значение 2, 8, 16. В итоге с 8-кой не получается, что бы ни ввёл, он выводим number is wrong. Не могу понять в чём ошибка, из - за этого уже не уверен верно ли работает с двойкой.
Вот сам код:
#include <stdio.h>
#include <stdlib.h>
int main() {
int bazis;
char str[10] = {0};
int length;
printf("┬тхфшЄх срчшё ш яюёыхфютрЄхы№эюёЄ№: ");
scanf("%d %6s", &bazis, str);
for(int i = 0; str[i] != '\0' && i < 6; i++) {
length++;
}
if(bazis != 2 && bazis != 8 && bazis != 16) {
printf("Base is wrong.\n");
}
else {
if(bazis = 2) {
for(int i = 0; i < 6; i++) {
if(str[i] != '0' && str[i] != '1') {
printf("Number is wrong.\n");
break;
}
}
}
if(bazis = 8) {
for(int i = 0; i < 6; i++) {
if(str[i] >= '8') {
printf("Number is wrong.\n");
break;
}
}
}
}
system("pause");
return (0);
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости