#include <stdio.h>
int main()
{
char c = 00123;
int n ; //将c赋值给n
float f ; //将c赋值给f
double d; //将c赋值给d
n=c;
f=n;
d=f;
printf("%d\n",n);
printf("%f\n",f);
printf("%lf\n",d);
return 0;
}
首先你赋值为00123不是000123。然后char c表示定义一个字符型变量c ,初值为00123。在C语言中,八进制数通常前面加一个0,比如,00 05 027等,而你的00123系统判定为八进制。3*8^0+2*8^1+1*8^2+0*8^3=83。
char型数据类型是用来存储单个字符的,这里00123是S的ASCII的8进制表示,所以你赋值的是S而不是00123