我被困在我的家庭作业中。没有急于,我有足够的时间来完成这一点。我一直在漫游论坛(看起来像一个论坛哈哈),并一直非常感谢这里的社区的知识和意识。我已经从其他回答这些noob问题的人的恩典中应用了许多技术。C - 取一个字符串,并使用连字符分隔符解析/标记为较小的字符串
无论如何,我的任务是编写一个ac程序,该程序需要一个带连字符的字符串,并检查第一个字符串(在连字符之前)是否只有字母/字母,下一个组是仅数字,最后一组仅为字母/字母。这是类似于这个项目:http://wps.aw.com/wps/media/objects/7257/7431666/Case_Studies/GaddisJavaCSO_CS6.pdf
到目前为止,我坚持把字符串分成3个变量。我已阅读有关的strtok和操纵scanf函数,但我一直没成功:
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char serial [50];
char * part1 = NULL, part2 = NULL, part3 = NULL;
printf("Enter Serial Number:\n");
scanf("%s", serial);
part1 = strtok (serial, "-");
part2 = strtok(NULL, "-");
part3 = strtok(NULL, "-");
printf("You entered %s\n", part1);
printf("You entered %s\n", part2);
printf("You entered %s\n", part3);
return 0;
}
'*'不是数据类型的一部分,我想你想写'char * part1 = NULL,* part2 = NULL,* part3 = NULL;' – Johannes