我在 C 中的一些代码有问题:
char opt, name[10], path[25];
printf("Things\nMore things\n");
printf("Even more things\n");
printf("\nChar: ");
scanf("\n%c",&opt);
printf("\nTask name: ");
scanf("%s",name);
printf("Name: %s\n", name);
printf("\nFolder name: ");
scanf("%s",path);
printf("Name: %s\n", name);
printf("Path: %s\n", path);
这是在“干净”模式下制造麻烦的代码。问题是,当数据大小大于 10 或 25 时,它不会切割字符串,而是混合“名称”和“路径”。在某些情况下,它甚至将“路径”的一部分放入“名称”中。这是未定义的行为,还是我遗漏了什么?