Code
#include<stdio.h>
int main()
{
int i;
printf("%d \n",'\1');
printf("%d \n",'\022');
printf("%d ",'\555');
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:1 18 109
当我们编译这个程序然后gcc编译器发出警告'\ 555'是八进制转义序列超出范围?这个范围是多少?
根据C99规范,§6.4.4.4第9段:
八进制或十六进制转义序列的值应在用于为整数字符常量,或者对应于用于wchar_t的宽字符常数的无符号类型的类型无符号的字符表示的值的范围内.
| 归档时间: |
|
| 查看次数: |
1866 次 |
| 最近记录: |