编写c语言程序实现字符串与数字相互转换
时间: 2024-05-15 22:15:21 浏览: 113
以下是一个简单的示例程序,可以实现字符串与数字之间的相互转换:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[20]; // 用于存储字符串的数组
int num; // 用于存储数字的变量
// 字符串转数字
printf("请输入一个数字:");
fgets(str, 20, stdin); // 从标准输入读取字符串
num = atoi(str); // 使用atoi函数将字符串转换为整数
printf("转换后的数字为:%d\n", num);
// 数字转字符串
printf("请输入一个数字:");
scanf("%d", &num); // 从标准输入读取数字
sprintf(str, "%d", num); // 使用sprintf函数将数字转换为字符串
printf("转换后的字符串为:%s\n", str);
return 0;
}
```
在上面的程序中,我们使用了两个函数来完成字符串与数字的转换:
- atoi函数:将一个字符串转换为整数。它的原型为`int atoi(const char *str)`,其中str为待转换的字符串,返回值为转换后的整数。如果无法转换,则返回0。
- sprintf函数:将一个数字转换为字符串。它的原型为`int sprintf(char *str, const char *format, ...)`,其中str为存储结果的字符串数组,format为格式化字符串,后面的省略号表示要输出的参数。该函数将format字符串中的格式标记替换为对应的参数值,并将结果保存在str中。函数返回值为输出的字符数。
需要注意的是,在使用fgets函数读取字符串时,我们指定了最大读取字符数为20,以避免数组溢出;而在使用scanf函数读取数字时,我们使用了`%d`格式标记,表示要读取一个整数。此外,为了方便输出结果,我们使用了printf函数来输出转换后的数字或字符串。
阅读全文