1.代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i = 0;
int j = 0;
int k = 0;
char c;
char str_buf[256];
int data[256];
/* 输入字符串,以“空格”键分隔相邻字符串,最后按回车键结束 */
printf("please input str: ");
while((c=getchar())!='\n')
{
if(c>='0'&&c<='9') {
str_buf[i++]= c;
}
else if(c ==' ') {
str_buf[i]= c;
/*调用C标准库函数:字符串转十进制整数*/
data[j++] = atoi(str_buf);
i = 0;
}
}
/* 处理最后一个字符串 */
str_buf[i]= ' ';
data[j++] = atoi(str_buf);
/*将转换结果输出到屏幕 */
printf("output integert data:\n");
for (k=0; k<j; k++) {
printf("data[%d] = %d\n", k, data[k]);
}
return 0;
}
2.linux环境下编译test.c文件:
gcc test.c -o test
3.运行程序,运行结果如下:
4.PS:对于“输入的整数字符串是个负数”,代码暂不支持!!!