22号去参加华为的武汉实习生上机考试,3道题目,当时就做出来两道,有一道格式字符串的题目没有做出来。回到学校之后还是重新想了想,把当时没做出来的再做一遍。
原题在华为的题库中也没找到,我就凭自己的记忆重新写个大意一样的题目了。
题目差不多是这样的:
有一个格式化的字符串,如下所示:
name=Jorden,job=palyer,age=45
编写代码,可以识别以上的格式,如果输入格式不对,会报错。同时输出格式如下:
[[name,Jorden],[job,player],[age,45]]
其实现在想想这里给的信息也不是很全啊,没有说允不允许空输入的存在。(不知道是不是我忘了点题目的内容 = =)。例如:
name=Jorden,job=,age=45
job为空,输入格式符合不?我是忽略这种情况了。按我的理解就是把
'=' 和 ','
当作关键字符了,如果输多了、少了或者输入的顺序不对就报错了。
以下是我的代码:
1 #include<stdio.h> 2 #include<malloc.h> 3 4 #define true 1 5 #define false 0 6 7 //获得字符串长度 8 int getlen(char *s) 9 { 10 int i; 11 for (i=0; s[i]!='