C语言 写了个简单的代码想验证结构体的输出和strcmp的使用,但是出现这样的问题
问题描述:
#include<stdio.h>
#include<string.h>
struct Menu
{
char no[3];
char name[30];
int Price;
int Ava;
char des[100];
};
int main()
{
char xxx[3]="1-1";
struct Menu ki[2]={
{"1-1","Chicken starter",150,5,"4 pcs boneless chicken"},
{"1-2","Fish starter",120,6,"2 pcs fish"}
};
if(strcmp(ki[0].no,xxx)==0){
printf("%s\t%s\t%d\t%d\t%s\n",ki[0].no,ki[0].name,ki[0].Price,ki[0].Ava,ki[0].des);
}
return 0;
}
结果就是不等于 但是我确实是等于的啊
如果我把strcmp的==0删去,就会输出,但是不仅格式不正确,而且结果是错的,多输出了一个元素
答
char xxx[4]="1-1";
char no[4];