void show_node(Node *node_list){ Node *move = node_list->next; printf("************************************************************************************\n"); printf(" 内存分区表 \n"); printf("---------------------\n"); printf("|起始地址 分区大小 占用进程 分区状态|\n"); while(move != NULL){ if(move->status == 0){ printf("| %d\t %d\t %s\t Free |\n",move->begin,move->size,move->process_name,move->status); }else{ printf("| %d\t %d\t %s\t Busy |\n",move->begin,move->size,move->process_name,move->status); } move = move->next; } printf("---------------------\n"); } 这段代码出现too many arguments for format [-Wformat-extra-args]错误,请修改
时间: 2023-07-05 18:29:12 浏览: 83
sigle-list.zip_list 基本操作_visual c
好的,这个错误是因为在printf函数中,格式字符串中使用了过多的格式化占位符,但是提供的参数数量不够。具体来说,在printf函数中,格式字符串中有4个格式化占位符,但是在第1个和第2个printf函数调用中,提供的参数只有3个。正确的写法应该是:
```
if(move->status == 0){
printf("| %d\t %d\t %s\t Free |\n",move->begin,move->size,move->process_name);
}else{
printf("| %d\t %d\t %s\t Busy |\n",move->begin,move->size,move->process_name);
}
```
这样就不会再出现too many arguments for format [-Wformat-extra-args]错误了。
阅读全文