【发布时间】:2013-12-19 08:24:39
【问题描述】:
我想要做的是:用户输入一个带逗号的字符串;例如:123456,44,55,,66
我想将它分开并存储在一个不带逗号的新数组中;例如:
m[0][]={123456}, m[1][]={44}, m[2][]={55}, m[3][]={}, m[4][]={66}
123456 是学生 ID 号,44 是第一模块的标记,55 是第二模块的标记,NULL 表示学生没有参加第三模块,@987654328 @ 是第 4 个模块的标记。
我该怎么做呢?我所知道的是,通过检测双逗号,这意味着学生没有参加第 3 个模块。
这是我目前所写的:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void copystring(char m[],char temp[]);
main()
{
char temp[10000];
char m[10000][10000];
gets(temp);
copystring(m,temp);
printf("%s\n",m);
return 0;
}
void copystring(char m[],char temp[])
{
int i;
int j;
for (j=0;j<(strlen(temp));j++)
{
for (i=0;i<(strlen(temp));i++)
{
if (temp[i]!=*(",")&&temp[i]!=*(" "))
{
m[j][i]=temp[i];
}
}
}
}
【问题讨论】:
-
未定义您对
copystring(char **, char *)的调用。 -
你卡在哪里了?您缺少什么 - 请您具体说明一下?
-
不要使用gets()。
-
Smac89,对不起,我真的不知道如何正确定义它。 NiRR,对不起,我不确定我的代码是否有问题,我不知道如何纠正它。你能帮我检查一下吗?
-
moeCake,我应该用什么?