#include <stdio.h>
int main() {
//实现字符串转换成数字
char str[10] = "123";
//求取字符串的长度
int len = 0;
while (str[len++]);
len--;
//设置和
int value = 0;
for (int i = 0; i < len; i++)
{
//设置基数
int base = 1;
//判断字符所在的位置是否是最后
if ((len - i) != 1) {
//如果不是在最后则需要设置相应位的基数
for (int j = 0; j < len - i - 1; j++)
{
base *= 10;
}
}
int num = str[i] - '0';
//最后将得到的值相加
value += num * base;
}
printf("%d\n", value);
return 0;
}
#include <stdio.h>
void intToString(int num);
int main() {
//实现整数转换成字符串
int num = -456;
intToString(num);
return 0;
}
void intToString(int num) {
int status = 0;
char str[100] = { 0 };
//先判断是正数还是负数
if (num < 0)
{
num = 0 - num;
status = 1;
}
//是正数,先将每一位的数求出来放入数组中
int i = 0;
while (num) {
int n = num % 10;
str[i] = n + '0';
i++;
num /= 10;
}
printf("%s\n", str);
//因为是从个位开始放,所以最后还需要进行倒置
int min = 0;
int max = i - 1;
while (min < max) {
char temp = str[min];
str[min] = str[max];
str[max] = temp;
min++;
max--;
}
printf("%s\n", str);
//如果是负数需要将其变成正数,并在最前加一个负号
if (status == 1) {
for (int j = i - 1; j >= 0; j--) {
str[j + 1] = str[j];
}
str[0] = '-';
}
//最后返回得到的字符串
printf("%s\n", str);
}