我必须使用来自用户的全名输入来缩写第一个,中间名和姓氏,例如if firstName.isFirstResponder { // caused due to firstName }
else
if lastName.isFirstResponder { // caused due to lastName }
作为ram kumar shahu
。问题是如果我只得到名字和姓氏然后我应该打印r.k. shahu
。
以下是我的代码。
r. shahu
答案 0 :(得分:1)
首先,您正在处理一个您不知道输入的长度的情况。我建议你采取以下方法。
答案 1 :(得分:1)
char fname[10],mname[10],lname[10];
char line[30];
int state;
printf("Enter the name:\n");
fgets(line, sizeof line, stdin);
state = sscanf(line, "%9s %9s %9s", fname, mname, lname);
if(state == 2){
printf("%c.%s\n",fname[0], mname);
} else if(state == 3){
printf("%c.%c.%s\n",fname[0], mname[0], lname);
}