long a = 'A';考虑到默认的参数提升,参数被提升到int,但是由于long的级别高于int,所以它不应该被提升(或者实际上降级)到int。现在,如果它没有提升到int,那么在printf语句中没有类型错配,因为我们试图使用%c打印一个long变量。根据C标准,这种行为应该是未定义的,但是编译器将A完美地打印为输出,没有任何错误或
char =‘b’;(x有一个值可以用两种方式表示,一种是int,另一种是char在两种语言中的( C和C++))如果我让编译器选择,它将选择(将优先于) int 值,因为C的标准使字符文字为但是我可以使用char值,如果我在下面的代码中选择 char x = 'b'; return 0;}in C ++
如