-1
我有一个主要功能在下面,但是,行 - 获取(newstring);从来没有得到提示,程序跳过获取和插入线,有人告诉我,可能是一个线状的浅的问题,但我不知道那是什么意思,如何解决它,请帮忙,谢谢,c编程浅线修复
int main() {
char newstring [25];
int removeelem;
int findelem;
struct data_node *first=NULL, *ptr;
printf ("Enter list command (+-flx): ");
scanf (" %c", &key);
switch (key) {
case '+':
printf ("+ detected \n");
printf ("Enter key data: \n");
scanf ("%D", &newelem);
printf ("What string to store? \n");
gets(newstring);
insert(&first, newelem,newstring);
break;
}
}
尝试打印'key'的值用于调试目的。你在哪里声明了“钥匙”? 'gets()'被弃用,并且如果输入超过24个字符将导致未定义的行为。在一行中声明多个指针是不好的风格。检查scanf的返回值,它可能会失败,因为它需要在字符前面有一个空格。您的打印行末尾有不需要的空格。这对开始足够了吗? –
另外,如果这是作业,请标记为这样。 –