输入您的名字,在第一个空格之前输出

时间:2015-01-08 22:09:32

标签: c

我正处于绝望的帮助中,这可能很简单,我已经过度复杂了。

我需要一个输入你姓名的程序

e.g。 输入: 输入你的名字:John Spencer

输出: 你的名字是:约翰

我需要以最简单的格式完成而不使用函数等

你如何检查这个程序,所以当你输入没有空格的东西时,它不会崩溃(不使用异常处理程序)

char name[100];
int i = 0;
printf("Enter your name: ");
gets_s(name);

printf("First name is: ");

while (name[i] != 32)
{
    putchar(name[i]);
    i++;
}

1 个答案:

答案 0 :(得分:4)

在回复您的评论时,您可以确保只通过将条件更改为while(name[i] != ' ' && name[i] != '\0')来读取字符串的结尾(请注意,我已将这些更改为字符文字以获得更好的可读性和可移植性(如果你想在不同的字符集中编译,例如),如果你必须使用数字而不是检查0)。虽然C ++的重载为gets_s且不占用缓冲区大小,但如果您希望编译代码,则还应将缓冲区大小(在本例中为99)添加到gets_s作为第二个参数在C.