中易网

for(flag=1;i=0;flag&&<m;i++) 循环中的&&是什么意思啊?跪求!

答案:2  悬赏:60  
解决时间 2021-03-21 06:42
//这个是del()函数
void del()
{
system("cls");
int m=load();
int i,j,n,t,flag;
char name[20];
printf("\n 原有的学生信息为:\n");
display();
printf("\n");
printf("请输入要删除的学生的姓名:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i {
if(strcmp(stu[i].name,name)==0)//strcmp函数用来字符串复制
{

printf("\n学号\t姓名\t性别\t年龄\t生日\t电子邮箱\t住址\t电话 \n");
printf("\n%d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].mail,stu[i].address,stu[i].tel);
printf("\n是否要删除此人信息??\n是请按1,不是请按0:\n");
scanf("%d",&n);
if(n==1)
{
for(j=i;j {
strcpy(stu[j].name,stu[j+1].name);
stu[j].num=stu[j+1].num;
stu[j].sex=stu[j+1].sex;
stu[j].age=stu[j+1].age;
strcpy(stu[j].birthday,stu[j+1].birthday);
strcpy(stu[j].mail,stu[j+1].mail);
strcpy(stu[j].address,stu[j+1].address);
stu[j].tel=stu[j+1].tel;
}
flag=0;
}
}
}
if(!flag)
m=m-1;
else
printf("\n无此人信息!\n");
printf("\n 浏览删除后的所有学生信息:\n");
save(m);
display();
printf("\n是否继续删除信息\n 继续请按1\n不继续请按0\n");
scanf("%d",&t);
switch(t)
{
case 1:del();break;
case 0:break;
default :break;
}
}
最佳答案
for语句中的判断条件有点问题,应该是:for(flag=1;i=0;flag&&i &&是条件与的意思,表示要同时满足条件才会执行for语句循环体的内容,即flag要为1并且i要小于m。
全部回答
当flag=1,i>0时,flag&&i的值都是1.。当flag=0,flag&&i的值都是0,此时for循环中,不管i累加到多少,都不能结束循环,而整个for循环中都没有结束循环的语句,如break出现,只能等i超过em的边界后,if(strcmp(em[i].name,name)==0)就会报错。 所以这里设计有点小问题。   由于for循环后面有一个if判断,if(flag==1)  printf("\n对不起,查无此人!\n");说明, flag=0,代表找个name。而如果flag还是之前for语句中的初值1,就是没找到。   为了让程序更好无bug的运行,建议修改一下for循环中if(n==1)的判断,并加入break结束标志。 修改for代码如下: for(flag=1,i=0;flag&&i<m;i++)  {  if(strcmp(em[i].name,name)==0)  {  printf("\n已找到此人,原始记录为:\n");  printf("工会成员号\t姓名\t性别\t出生年月\t是否婚配\t子女个数\n");     printf("\n    %d\t\t%s\t%s \t%d\t\t%s\t\t%d\n",em[i].num,em[i].name,em[i].sex,em[i].age,em[i].marry,em[i].child);    printf("\n确实要修改此人信息请按 1 ; 不修改请按 0;  ");  scanf("%d",&n);  if(n==1)  {  printf("\n需要进行修改的选项\n 1.工会成员号 2.姓名 3.性别 4.出生年月5.是否婚配 6.子女个数\n"); while(1)  {   printf("请输入你想修改的那一项序号:  "); scanf("%d",&c);  if(c>6||c<1)  {printf("\n选择错误,请重新选择!\n");} else {break;}  } }      flag=0;  }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
哪一部漫画是描述现代变身为三国人物的
衡水哪儿有卖旧床的
微溶物算是沉淀物吗?为什么溶液里的东西不能
圣诞树哪些品牌比较好!
我新买的牛仔裤穿个几天洗完就变黄了,?
《篮球火》里面的无极尊和无极威到底是什么人
中国工商银行(包头民主路支行)地址在什么地方
耳朵发炎可以吃棒冰吗
谷歌生活搜索还能用吗
微信里显示非朋友显示10张什么意思
ACA电烤箱好还是长帝电烤箱好?
八达岭长城门票 可以团购吗
自己生产的食品怎么做网店?谢谢……
Zippo打火机父爱如山纯铜正品多少钱
怎么可以在qq兴趣部落里不用申请也可以当酋长
推荐资讯
经济方向-----教育的“羊皮纸效应”是什么?
魔幻手机里傻妞进入傻表情状态是哪集?
影响液压元件泄漏的参数有哪些
鲜来鲜得生活超市地址有知道的么?有点事想过
柿子上面有白色的斑点,用手摸过是红色的
龙岗汽车站最近的天桥离哪个地铁站
一般网站一个月的收入是多少?是小型的网站,
中餐荤菜以牛肉多见还是猪肉多见?
哪些食物解中药
中国留学生在国外的地位如何?
歌曲《忍者》中间的那句日语是什么意思啊?
福建南安有什么土特产呢?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?