Строки (C): различия между версиями

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску
Строка 3: Строка 3:
 
* [https://docs.microsoft.com/ru-ru/cpp/c-language/c-string-literals?view=msvc-160 Строковые литералы в C (справка Микрософт)]
 
* [https://docs.microsoft.com/ru-ru/cpp/c-language/c-string-literals?view=msvc-160 Строковые литералы в C (справка Микрософт)]
 
* [https://www.tutorialspoint.com/cprogramming/c_strings.htm Строки (tutorialspoint)]
 
* [https://www.tutorialspoint.com/cprogramming/c_strings.htm Строки (tutorialspoint)]
 +
<syntaxhighlight lang="c" line>
 +
#include <stdio.h>
 +
#include <string.h>
 +
 +
int main() {
 +
    char* binStr = "101001";
 +
 +
    int multiplier = 1;
 +
    int dec = 0;
 +
 +
    for (int i = strlen(binStr)-1; i >= 0; i--) {
 +
        if (binStr[i] == '1') {
 +
            dec += multiplier;
 +
        }
 +
        multiplier *= 2;
 +
    }
 +
 +
    printf("%s\n%d", binStr, dec);
 +
}
 +
</syntaxhighlight>
  
 
== Задачник ==
 
== Задачник ==
 
* [http://ptaskbook.com/ru/tasks/string.php Строки]
 
* [http://ptaskbook.com/ru/tasks/string.php Строки]

Версия 10:53, 9 июня 2021

Строки

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 int main() {
 5     char* binStr = "101001";
 6 
 7     int multiplier = 1;
 8     int dec = 0;
 9 
10     for (int i = strlen(binStr)-1; i >= 0; i--) {
11         if (binStr[i] == '1') {
12             dec += multiplier;
13         }
14         multiplier *= 2;
15     }
16 
17     printf("%s\n%d", binStr, dec);
18 }

Задачник