Amit Razdan Ответов: 2

Вопрос основан на языке Си


главный()
{
char x;
int y;
x=100;
y=125;
printf("%c\n",x);
printf("%c\n",y);
printf("%d\n",x);
}

пожалуйста, дайте мне правильное объяснение для вывода.

Что я уже пробовал:

при запуске этого кода я получаю вывод в виде
д
}
100



но почему????????

ZurdoDev

О какой строке вывода у вас есть вопрос? Третье должно быть действительно очевидным.

CHill60

Кстати, люди будут относиться к вам и вашим вопросам более серьезно, если вы перестанете использовать text-speak (это "пожалуйста", а не "plzz"). Не у всех английский является родным языком, и ваше использование сленга отталкивает вас от потенциальной помощи.

2 Ответов

Рейтинг:
1

OriginalGriff

Потому что это то, о чем ты просил.
Видеть здесь: таблица ASCII[^]

Спецификатор "%c" говорит: "обработайте входное значение как символ и выведите его". Посмотрите на таблицу и найдите "100" под столбцом "Dec" - это нижний регистр "d". Теперь найдите "125" в том же столбце, и это "}".
Итак, вы попросили его напечатать ваше значение в виде символа, и это именно то, что он сделал.


Рейтинг:
0

W∴ Balboos, GHB

У вас есть, если смотреть на него вместе с вашим предыдущим вопросом, очень большая потребность в изучении типов данных C. C, возможно, больше, чем любой другой язык, который вы, вероятно, будете использовать, позволит вам делать глупые вещи, потому что вы попросили его сделать их.

C изначально был написан для написания операционных систем. Это означает, что он может делать практически все, что вы попросите его сделать - в том числе смешивать типы. Он будет, в зависимости от вашего компилятора, отпускать их без каких-либо ошибок или предупреждений. Большая часть времени-это проблемы с флагами для вас, но некоторые вещи являются разумными просьбами ... даже если они совсем не то, что вы хотели сделать.

Например, я намеренно взял строку символов и интерпретировал их как целые числа.

Поэтому, пожалуйста, изучите типы данных C.


Amit Razdan

спасибо, сэр....