Почему нет вывода, когда я пытаюсь напечатать символ?

#c #pointers #printf

#c #указатели #printf

Вопрос:

У меня есть следующий код:

 #include <stdio.h>

int main()
{
    char* var1 = "Z";
    char text = *var1   3;
    if(text > 'Z'){
        text = text - 'Z';
        printf("%cn", text);
    } 
    return 0;
}
  

Почему нет вывода, когда я запускаю это? Если я печатаю с %d вместо%c, он работает и выводит «3».

Комментарии:

1. char* var1 = "Z"; должно быть const char* var1 = "Z";

Ответ №1:

https://en.wikipedia.org/wiki/ASCII

Потому text - 'Z' что = 3 не является печатным символом.