简单的C语言转换

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:10:32
我是这么写的:

char c[3];
c[0]='1';
c[1]='2';
c[2]='3';
int i=(int)c;
printf("%d\n",i);.

为什么转出来i不等于123?

char c[4];
c[0]='1';
c[1]='2';
c[2]='3';
c[3]=0;
int i=atoi(c)
printf("%d\n",i);.

你这样强制转换肯定是不行的,将字符串转换为int型有个函数atoi可以调用

变量i得到的是C的地址 也就是那个数组的首地址

那有这样转的

你把
int i=(int)c;
改成
int i=atoi(c);