gpt4 book ai didi

c - 如何修复无效转换错误? (字符到常量字符*)

转载 作者:行者123 更新时间:2023-11-30 16:35:54 25 4
gpt4 key购买 nike

我正在尝试为元素商店制作一个程序(学校任务)。这是搜索订单id并删除用户输入的订单id的节点的功能。当我使用订单号时,该函数工作得很好,但当我使用 id 时,程序拒绝编译,并在 if 行中显示“[Error] invalid conversion from 'char' to 'const char*'”。怎么修?请帮忙。

void takeOrder(){
if (!head){
printf("“--- There is No Order in The List ---");
return;
}
char id[7];
view();
printf("Input the order id to take [case insensitive]: ");
scanf("%[^\n]", &id); fflush(stdin);

data *temp=head;
if(strcmpi(head->id, id)==0){
head=head->next;
temp->next=NULL;
head->prev=NULL;
free(temp);
}
else if(strcmpi(tail->id, id)==0){
temp=tail;
tail=tail->prev;
tail->next=NULL;
temp->prev=NULL;
free(temp);
}
else{
while(strcmpi(temp->id, id)!=0 && temp!=NULL){
temp=temp->next;
if(temp==NULL){
break;
}
}
if(temp==NULL){
printf("The number you've selected is not available!\n");
system("pause");
}
else{
temp->prev->next=temp->next;
temp->next->prev=temp->prev;
temp->next=NULL;
temp->prev=NULL;
free(temp);
}
}
counter--;
}

最佳答案

将 id 的索引传递给 scanf :

 scanf("%[^\n]", &id); fflush(stdin);

使用以下内容:

scanf("%[^\n]", &id[0]); fflush(stdin);

或以下:

scanf("%[^\n]",id); fflush(stdin);

关于c - 如何修复无效转换错误? (字符到常量字符*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48698136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com