C 输入您的姓名,在第一个空格前输出

C 输入您的姓名,在第一个空格前输出,c,C,我得到了绝望的帮助,一些简单的事情,我把事情复杂化了 我需要一个输入你名字的程序 e、 g。 输入: 输入您的姓名:约翰·斯宾塞 输出: 你的名字是:约翰 我需要它在不使用函数等最简单的格式完成 如何检查此程序的错误,以便在键入没有空格的内容时,不使用异常处理程序它不会崩溃 char name[100]; int i = 0; printf("Enter your name: "); gets_s(name); printf("First name is: "); while (name[i

我得到了绝望的帮助,一些简单的事情,我把事情复杂化了

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

e、 g。 输入: 输入您的姓名:约翰·斯宾塞

输出: 你的名字是:约翰

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


如何检查此程序的错误,以便在键入没有空格的内容时,不使用异常处理程序它不会崩溃

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++;
}

作为对您的评论的回应,您可以通过将条件更改为whilename[i]!=''&,确保只读取到字符串的末尾姓名[我]!='\0'请注意,如果您想在不同的字符集中编译,例如,如果您必须使用数字而不是检查0,我已将其更改为字符文本,以提高可读性和可移植性。虽然C++具有一个不占用缓冲区大小的GETSyS过载,但是在这种情况下,您还应该添加一个缓冲区大小99作为第二个参数,如果您希望代码在C.

中编译,您能帮助我使用上面的代码吗?为了更好地确定我需要做什么?似乎有什么问题?获取\u s需要缓冲区大小。如何检查此程序的错误,以便在键入没有空格的内容时,如果不使用异常句柄32,它不会崩溃。因为我非常感谢:我的大脑现在从所有简单的东西中重获了所有的压力。我用GETSys来做我的编译器的唯一目的。“肯尼亚克,的确,但是你的问题被标记为C而不是C++,所以我想我会指出它。