Const char нельзя присвоить сущность типа char - C (СИ)
Формулировка задачи:
Здравствуйте!
Начинаю изучать Си
И вот у меня немного не получается написать свою первую программу.
Интерпритатор ругается на: const char нельзя присвоить сущность типа char
Хочу попросить бывалых пояснить мне пожалуйста почему у меня сейчас возникает такая ошибка? Пояснив мне почему, я в будущем буду избегать таких ошибок!
Всем кто откликнется - очень благодарен!
Листинг программы
- #define _CRT_SECURE_NO_WARNINGS
- #include<stdio.h>
- #include<stdlib.h>
- int main()
- {
- char n = 0;
- char r;
- system("chcp 1251 > nul");
- printf("Введите число от 0 до 99\n");
- scanf("%2d", n);
- r = n == 1 ? "копейка" : "not" ;
- printf("%d %s", n, r);
- return 0;
- }
Решение задачи: «Const char нельзя присвоить сущность типа char»
textual
Листинг программы
- $ cat ./shit.c && clang shit.c && ./a.out
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int
- main (int argc, char ** argv)
- {
- char *s1 = "копейка";
- char * s2 = "not";
- char ch;
- srand(time(0));
- ch = rand() % 2 ? s1 : s2;
- fprintf(stdout, "ch = %X : s1 = %X : s2 = %X\n", ch);
- exit(EXIT_SUCCESS);
- }
- ch = FFFFFFD3 : s1 = E5D4B0D3 : s2 = E5D4B0C8
- $
Объяснение кода листинга программы
- Программа начинается с подключения необходимых заголовочных файлов: stdio.h, stdlib.h и time.h.
- Определяется функция main, которая является точкой входа в программу.
- Внутри функции main инициализируются две строки: s1 и s2. Значение s1 установлено в
копейка
, а значение s2 установлено вnot
. - Инициализируется переменная типа char с именем ch.
- Засекается случайное число с помощью функции rand() и оператора модуля %.
- Результат операции приводится к типу char и присваивается переменной ch.
- В зависимости от значения переменной ch, выводится соответствующее значение из строк s1 или s2.
- Выводится значение переменной ch в шестнадцатеричной системе счисления, а также значения переменных s1 и s2 в шестнадцатеричной системе счисления.
- Программа завершается с помощью функции exit, возвращающей код успеха EXIT_SUCCESS.
- Значения переменных s1 и s2 выводятся на экран:
ch = FFFFFFD3 : s1 = E5D4B0D3 : s2 = E5D4B0C8
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д