Const char нельзя присвоить сущность типа char - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Начинаю изучать Си И вот у меня немного не получается написать свою первую программу.
Листинг программы
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. int main()
  5. {
  6. char n = 0;
  7. char r;
  8. system("chcp 1251 > nul");
  9. printf("Введите число от 0 до 99\n");
  10. scanf("%2d", n);
  11. r = n == 1 ? "копейка" : "not" ;
  12. printf("%d %s", n, r);
  13. return 0;
  14.  
  15. }
Интерпритатор ругается на: const char нельзя присвоить сущность типа char Хочу попросить бывалых пояснить мне пожалуйста почему у меня сейчас возникает такая ошибка? Пояснив мне почему, я в будущем буду избегать таких ошибок! Всем кто откликнется - очень благодарен!

Решение задачи: «Const char нельзя присвоить сущность типа char»

textual
Листинг программы
  1. $ cat ./shit.c && clang shit.c && ./a.out
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5.  
  6. int
  7. main (int argc, char ** argv)
  8. {
  9.     char *s1 = "копейка";
  10.     char * s2 = "not";
  11.     char ch;
  12.     srand(time(0));
  13.    
  14.     ch = rand() % 2 ? s1 : s2;
  15.    
  16.     fprintf(stdout, "ch = %X : s1 = %X : s2 = %X\n", ch);
  17.    
  18.     exit(EXIT_SUCCESS);
  19. }
  20. ch = FFFFFFD3 : s1 = E5D4B0D3 : s2 = E5D4B0C8
  21. $

Объяснение кода листинга программы

  1. Программа начинается с подключения необходимых заголовочных файлов: stdio.h, stdlib.h и time.h.
  2. Определяется функция main, которая является точкой входа в программу.
  3. Внутри функции main инициализируются две строки: s1 и s2. Значение s1 установлено в копейка, а значение s2 установлено в not.
  4. Инициализируется переменная типа char с именем ch.
  5. Засекается случайное число с помощью функции rand() и оператора модуля %.
  6. Результат операции приводится к типу char и присваивается переменной ch.
  7. В зависимости от значения переменной ch, выводится соответствующее значение из строк s1 или s2.
  8. Выводится значение переменной ch в шестнадцатеричной системе счисления, а также значения переменных s1 и s2 в шестнадцатеричной системе счисления.
  9. Программа завершается с помощью функции exit, возвращающей код успеха EXIT_SUCCESS.
  10. Значения переменных s1 и s2 выводятся на экран: ch = FFFFFFD3 : s1 = E5D4B0D3 : s2 = E5D4B0C8.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.364 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы