Задание: На входе строка с числом заранее неизвестного формата, если оно начинается с 0, то считаем его восьмиричным, если начинается с любой другой цифры, то считаем его десятичным, если начинается с "0х", то считаем его шеснадцатиричным, если в конце стоит символ 'b', тогда считаем его двоичным, если неудается распознать число, считаем что на входе ошибка. Распознать строку в переменную типа int, вывести на экран printf("%d",i).
Начало моего кода:
C |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| #include <stdio.h>
#include <string.h>
int main ()
{
char s [30];
printf ("Введите строку\n");
scanf ("%s",&s);
if (s[0]=="0" && s[1]!=="x"){printf ("Это восьмеричная система счисления\n");}
else
if (s[0]=="0" && s[1]=="x") {printf ("Это шестнадцатеричная система счисления\n");}
else
if (s[0]!=="0") {printf ("Это десятичная система счисления\n");}
else
if (s[strlen(s)]=="b") {printf ("Это двоичная система счисления\n");}
return 0;
} |
|
Ошибка "Result of comparison between pointer & integer"
|
Комментарий модератора |
 |
Используйте теги форматирования кода! |
|