我正处于绝望的帮助中,这可能很简单,我已经过度复杂了。
我需要一个输入你姓名的程序
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++;
}
答案 0 :(得分:4)
在回复您的评论时,您可以确保只通过将条件更改为while(name[i] != ' ' && name[i] != '\0')
来读取字符串的结尾(请注意,我已将这些更改为字符文字以获得更好的可读性和可移植性(如果你想在不同的字符集中编译,例如),如果你必须使用数字而不是检查0
)。虽然C ++的重载为gets_s
且不占用缓冲区大小,但如果您希望编译代码,则还应将缓冲区大小(在本例中为99)添加到gets_s
作为第二个参数在C.