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

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

#include<stdio.h>

int main()

{

int i,a[200];

char s[200];

gets(s);

for(i=0;s[i];i++)

a[i]=s[i];

a[i]=0;

for(i=0;a[i];i++)

printf("%d ",a[i]);

printf("\n");

getch();

return 0;

}


如果是数字串,则有以下的转换:

#include<stdio.h>

int main()

{

int i,a[200];

char s[200];

scanf("%s",&s);

for(i=0;s[i];i++)

a[i]=s[i]-'0';

a[i]=0;

for(i=0;a[i];i++)

printf("%d ",a[i]);

printf("\n");

getch();

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-19
#include <stdio.h>
#include <string.h>
void main()
{
char a[10];
int i=0,sz[10];
gets(a);
for(;a[i]!='\0';i++)
if(a[i]>='0'&&a[i]<='9')
{
sz[i]=a[i]-48;
printf("%d",sz[i]);
}
else
{
sz[i]=a[i];
printf("%c",sz[1]);
}
printf("\n");
}本回答被提问者采纳
第2个回答  2011-11-24
#include "stdio.h"
main()
{
char ch[7]="1 3 4 6";
int sz[7];
int i;
for(i=0;i<7;i++)
{
if(ch[i]==' ')
sz[i]=ch[i];
else
sz[i]=ch[i]-48;
printf("%d ",sz[i]);
}
getch();
}
第3个回答  2011-11-27
atoi
相似回答