C语言字符串转成INT型数组

我有一个字符串 ch="1 3 4 6",怎么把它弄成int型的数组sz[]
sz[1]是1,sz[2]是空格,sz[3]是3,sz[4]是空格,sz[5]是4……求C语言代码,别给C++的。

代码://讲src当中的数字字符转换成数字并存到des当中
//返回数字个数
int Change(int* des, const char* src)
{
int i, ret = 0, len = strlen(src);
for(i=0; i<len; i++)
{
if('0' <= src[i] && '9' >= src[i])
{
des[ret++] = src[i]-'0';
}
}
return ret;
}void main()
{
printf("Please input a string: ");
char str[64] = {0};
gets(str); //动态创建一个整形数组用于存放结果
int* ret = (int*)malloc(strlen(str)*sizeof(int));
int len = Change(ret, str); //显示结果
int i;
for(i=0; i<len; i++)
{
printf("%d\t", ret[i]);
}
printf("\n"); //释放内存
free(ret);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-22
先把字符串ch存放在字符型数组中再跟据你的要求把字符型数组中的数据存放在整型数组中不过存放的是相当字符的ASCII码值,如果想用数值而不是数字,需减30即可
第2个回答  2013-08-22
int 型的数组没有空格
相似回答