C语言中如何将一个串中的数字分离转换为数字存入一个整形数组中

C语言中如何将一个串中的数字分离转换为数字存入一个整形数组中
就是你输入一个数字组成的串,将串的数字分离存入整形的数组中,方便以后的操作。
我想要的结果是把每个数字分离出来,并不是要最后的那个数

用函数atoi即可实现这个功能
#include<stdlib.h>
#include<stdio.h>
void main()
{
char str[] = "123";
int n;
n = atoi( str );
printf("%d\n", n);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-23
字符串的话是存放在char
[]中。
那么可以用下标或指针访问每一个字符。然后判断字符是否>='0'&&<='9'
是的话就是数字。将其转换为int存放到新的整形数组中。
至于转换整形
第2个回答  2009-07-19
#include<iostream>
using namespace std;

int* convert(long n)
{
int count=0,i,j;
int temp[100];
int* result;

if(n<0)
n = -n;

for(i=0; n; ++i)
{
temp[i] = n%10;
n /= 10;
count++;
}

result = new int[count+1];

for(j=0,i--; j<count; ++j,--i)
result[j] = temp[i];

result[count] = -1;

return result;
}

int main()
{
long n;
cout << "请输入一个数字: ";
cin >> n;

int* p = convert(n);

for(int i=0; p[i]!=-1; ++i)
cout << "p[" << i << "]: " << p[i] << endl;

system("pause");
return 0;
}
第3个回答  2009-07-30
以下只是程序一部分,不会让我给你全部写出吧
何况又是免费的的午餐

void R_S_Byte(uchar R_Byte)
{
SBUF = R_Byte;
while( TI == 0 ); //查询法
TI = 0;

}
R_S_Byte(TxRxBuf[0]);
x=TxRxBuf[0];
delay(10);
R_S_Byte(TxRxBuf[1]);
y=TxRxBuf[1];
第4个回答  2019-09-01
我现在电脑里没有编程工具,不过你可以试一下用getchar()看行不行!!如果不行你再问!!你也可以加我QQ:296832578
相似回答