C语言string转int
时间: 2023-08-25 19:08:53 浏览: 94
### 回答1:
在 C 语言中,可以使用 `atoi` 函数将字符串转换为整数,例如:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "123";
int num = atoi(str);
printf("%d\n", num);
return 0;
}
```
输出:
```
123
```
需要注意的是,如果字符串不能被正确转换为整数,`atoi` 函数将返回 0。此外,如果字符串表示的整数超出了 `int` 类型的范围,也会导致错误的结果。
### 回答2:
在C语言中将字符串(string)转换为整数(int),可以使用标准库函数`atoi`或者`sscanf`。
使用`atoi`函数的示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "12345";
int num = atoi(str);
printf("转换后的整数为:%d\n", num);
return 0;
}
```
在这个例子中,我们将字符串`"12345"`转换为整数,并将结果存储在变量`num`中。然后使用`printf`函数打印转换后的整数。
另一种方法是使用`sscanf`函数进行字符串转换,示例代码如下:
```c
#include <stdio.h>
int main() {
char str[] = "12345";
int num;
sscanf(str, "%d", &num);
printf("转换后的整数为:%d\n", num);
return 0;
}
```
在这个例子中,我们使用`sscanf`函数,它的工作方式与`scanf`函数相同。我们将字符串中的整数读取到变量`num`中,并使用`printf`函数打印转换后的整数。
无论是使用`atoi`还是`sscanf`,都需要包含`<stdlib.h>`或`<stdio.h>`头文件。尤其需要注意的是,这两种方法都假设字符串中只包含合法的整数。如果字符串中包含非数字字符,则转换结果可能不正确。为了保证转换的准确性,应该在转换之前对字符串进行检查,例如使用`isdigit`函数来判断字符串中是否只包含数字字符。
阅读全文