以下代码失败,因为atoi()需要a char *而我只传递一个char.我想存储只有第一个数字的值.知道我怎么能这样做吗?
int main () {
char a[]= "123";
int b = atoi(a[0]);
printf("%d",b);
}
Run Code Online (Sandbox Code Playgroud)
这是确切的错误消息:
division.c:9:16: warning: incompatible integer to pointer conversion passing
'char' to parameter of type 'const char *'; take the address with &
[-Wint-conversion]
int b = atoi(a[0]);
^~~~
&
Run Code Online (Sandbox Code Playgroud)
是的,单个字符不是字符串atoi().
如果你只想要单个数字的值,你可以这样做:
int b = (a[0] - '0');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
309 次 |
| 最近记录: |