"w"
- это массив символов, и он преобразуется в указатель на первый элемент массива в качестве операнда операнда оператора присваивания.
Относится к char
, поэтому в типичных условиях он станет бессмысленным.
Попробуйте
#include <stdio.h>
int main(void) {
int a;
a = 'w';
printf("%c", a);
return 0;
}
или
#include <stdio.h>
int main(void) {
char* a;
a = "w";
printf("%s", a);
return 0;
}
Примечания:
- Вы должны использовать стандартный
int main(void)
вместо main()
.
- Глобальные переменные не должны использоваться, если это необходимо.
- Символьные константы имеют тип
int
в C и %c
для printf()
принимают int
значения. (char
автоматически преобразуется в int
для аргументов переменной длины)
getchar();
удален. Программное обеспечение терминала полезно для выполнения программы и просмотра результата.
«w» - это массив символов, состоящий из «w» и нулевого символа «\ 0». Попробуйте 'a = 'w';' –
Включите предупреждения компилятора и обратите внимание на них – Olaf
@AnirudhRamanathan О, вот и все. Благодарю. –