这是我编写的一个函数,其中已经包含一些调试元素。当我输入“y”或“Y”作为输入时,我在运行时遇到分段错误。当我输入任何其他值时,代码就会运行。seg 故障在它扫描并给我响应但在“扫描工作”行输出之前踢出。不知道为什么它只会对这些值起作用。如果有人需要函数调用,我也有。
query_user(char *response [10])
{
printf("response after query call before clear=%s\n",response);
strcpy(response,"");
printf("response after clearing before scan=%s\n",response);
printf("Enter another person into the line? y or n\n");
scanf("%s", response);
printf("response after scan=%s\n",response);
printf("scan worked");
}
main()
{
char response [10];
strcpy(response,"y");
printf("response=%s\n",response);
printf("When finished with program type \"done\" to exit\n");
while (strcmp(response,"done") != 0)
{
printf("response after while loop and before query call=%s\n",response);
query_user(&response);
}
}
错误输出:
在 clear=y 之前查询调用后的响应 扫描前清除后响应= 让另一个人进入队列?是或否 是的 扫描后的响应=y 分段错误(核心转储)
非错误输出:
在 clear=y 之前查询调用后的响应 扫描前清除后响应= 让另一个人进入队列?是或否 n 扫描后的响应=n 扫描工作 循环数 0 (程序在这个函数之外继续运行)