当前位置:网志问答 > C语言 错误出现这样的提示illegal else without matching if
已有回答

C语言 错误出现这样的提示illegal else without matching if

一下是代码

#include<stdio.h>

int main()

{

int a;

printf("请输入一个整数\n");

scanf("%d",a);

if(a/3==0)

if(a/5==0)

if(a/7==0)

printf("您输入的数可以同时被3,5,7整除。\n");

else printf("您输入的数可以同时被3,5整除。\n");

else printf("您输入的数可以被3整除。\n");

else if(a/5==0)

if(a/7==0)

printf("您输入的数可以同时被5,7整除。\n");

else printf("您输入的数可以被,5整除。\n");

else if(a/7==0)

  else printf("您输入的数可以被7整除。\n");

}


网志问答在7天前收到网友关于C语言 错误出现这样的提示illegal else without matching if的提问,关于这些疑难问题,进行了深入的分析。得到了网志问答众多网友的支持,得到了如下解决方案,摘录了部分优质回答,如对此有任何好的意见,欢迎大家进行探讨共同解决!

详细问题描述及疑问:期待您的答案,千言万语,表达不了我的感激之情,我已铭记在心 !

本页链接:http://www.oxrm.com/question/1555154618618847

AD728-90
满意答案

第1个优秀答案:

LV7天前程序有N多错,你报的错是因为if与else不匹配引起的建议初学者对每一个if。。。else都用{}如if(xxx){//xxxx}else{///xxx}这样就不会出错你的情况另外的错是scanf("%d",a);//这个错大了,会导致程序奔溃的,正确的是scanf("%d",&a);//int输入湿用地址的还有的错就是能被3整除不是用if(a/3==0)来判断的(这个是判一个数除3商为0,也就是当a=-2,-1,0,1,2时才成立的)正确的是if(a%3==0)//余数为0,就是能被3整除多个地方要改的追问:感谢大神的指导我按照您说的改了为什么还是不对啊?#include<stdio.h>intmain(){inta;printf("请输入一个整数\n");scanf("%d",&a);if(a%3==0){if(a%5==0){if(a%7==0){printf("您输入的数可以同时被3,5,7整除。\n");}elseprintf("您输入的数可以同时被3,5整除。\n");}elseprintf("您输入的数可以被3整除。\n");}elseif(a%5==0){if(a%7==0){printf("您输入的数可以同时被5,7整除。\n");}elseprintf("您输入的数可以被,5整除。\n");}elseif(a%7==0){elseprintf("您输入的数可以被7整除。\n");}}追答:你的elseprintf("您输入的数可以被7整除。\n");中的else是多余的,它没有对应的if啊追问:哦哦哦知道了非常感谢!!!


希望以上的回答,能够帮助你。
大家还关注
AD728-250
AD160-600