scanf函数后无法继续

scanf函数后无法继续,c,scanf,C,Scanf,我正在尝试创建一个程序,它要求用户构建一个只包含数字的数组,并删除向用户请求的特定元素 我的问题是,当我编译和运行代码时,它似乎被我的scanf函数卡住了。我已经放置了指示器,以了解代码当前运行的位置,如下面的程序所示 注意:我不能使用指针 #包括 #定义最大长度5 无效清除器(整数列表[],整数项) { int temp[MAX_LEN]={'e','e','e','e','e'};//e代表空 int i,j,k; i=j=k=0; 对于(i=0;i

我正在尝试创建一个程序,它要求用户构建一个只包含数字的数组,并删除向用户请求的特定元素

我的问题是,当我编译和运行代码时,它似乎被我的scanf函数卡住了。我已经放置了指示器,以了解代码当前运行的位置,如下面的程序所示

注意:我不能使用指针

#包括
#定义最大长度5
无效清除器(整数列表[],整数项)
{
int temp[MAX_LEN]={'e','e','e','e','e'};//e代表空
int i,j,k;
i=j=k=0;
对于(i=0;i对于(k;k您忘记在您的
scanf
调用中放入
&

例如,您应该尝试:

scanf(“%d\n”和项目编号);

它应该很好用

有关
scanf
的更多信息,请查看文章

scanf
或扫描格式化字符串,要求您输入要在其中存储值的变量的位置(地址)


查看问题以了解更多信息。

它仍然无法消除问题。在我的情况下,程序运行正常。如果您有与程序相关的其他问题,请发布另一个问题。您很可能会很快得到帮助。在我的情况下,编译是成功的。问题是在运行可执行文件时。我使用gcc文件名构建。c-o filename并在cmd上运行filename。输入值后,例如“2”,程序将暂停,我必须使用Ctrl+c终止退出。好的,您必须再次输入数字,然后再次按enter。问题在于循环,而不是scanf。您需要使用地址运算符:scanf(“%d\n”,&remove_number);
sizeof(int)
可能是4,而
sizeof(char)
肯定是1,因此输入循环只接受数字4作为输入,输出循环只打印1(作为不可打印的字符)和4。此外,输入循环六次,而不是五次,这将在
列表
之外写入时导致未定义的行为。