搜索
查看: 914|回复: 5
打印 上一主题 下一主题

超级新人遇到难题了

[复制链接]
跳转到指定楼层
楼主
发表于 2014-1-15 23:08:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
{:soso_e132:}这程序是输入2个数字,大的首先显示,小的之后显示,检查好几遍都不知道错在那,发帖前还又检查一遍
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,b,c,f;
    scanf("%d %d",&a,&b);
    if        (a>b);
    c=a;
    f=b;
    printf("%d %d\n",c,f);
    else printf("%d %d\n",b,a);


    Sleep(10000);

       
        return 0;
}


求肥皂

最佳答案

查看完整内容

这句错了,简单来说是“;”引起的编译器的“断句”问题。 if的作用是:若后面()中的条件成立,则执行后面紧跟的代码,直到if语句结束。 如果像以上这样写的话不会被当做错误,但当后面遇到else时就会遇到else匹配不到if的错误, 原因是if以及后面紧跟的代码被视为一条语句,称为if语句,if语句中可以出现else C的语句以“;”结束,因此按以上写法if语句已经结束了,编译器将下面的语句当做另一句语句处理, 随后遇见else, ...
沙发
发表于 2014-1-15 23:08:12 | 只看该作者
本帖最后由 981013 于 2014-1-17 12:40 编辑
  1. if(a>b);
复制代码
这句错了,简单来说是“;”引起的编译器的“断句”问题。
if的作用是:若后面()中的条件成立,则执行后面紧跟的代码,直到if语句结束。
如果像以上这样写的话不会被当做错误,但当后面遇到else时就会遇到else匹配不到if的错误,
原因是if以及后面紧跟的代码被视为一条语句,称为if语句,if语句中可以出现else
C的语句以“;”结束,因此按以上写法if语句已经结束了,编译器将下面的语句当做另一句语句处理,
随后遇见else,就认为else在if语句外,就会认为是错误。
if(或else)后若不得不跟含分号的代码,则应用{}把所有想让其加入if语句的代码括起来。
以下是修改后的代码:

  1. include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5. int a,b,c,f;
  6. scanf("%d %d",&a,&b);
  7. if(a>b)
  8. {
  9. c=a;
  10. f=b;
  11. printf("%d %d\n",c,f);
  12. }
  13. else
  14. printf("%d %d\n",b,a);
  15. system("pause");
  16. return 0;
  17. }

复制代码


板凳
发表于 2014-1-16 16:59:42 | 只看该作者
main()
{
        int  a,  b;
        printf("请输入第一个数:");
        scanf("%d", &a);
        printf("请输入第二个数:");
        scanf("%d", &b);
        if(a > b)   //判断a是否大于b,如果成立执行下面{}里的语句
     {
              printf("两个数从大到小排列是: %d   %d", a, b);
        }
       else        //当a > b不成立时,执行else{}里的语句
    {
              printf("两个数从大到小排列是: %d   %d", b, a);
      }
    getch();
}
                    //不管用户是先输入小的或者大的.程序都是从大到小排例       

点评

不好意思,LS教会我更多,所以我把分给他了,你的方法也很好  发表于 2014-1-16 18:12
地板
发表于 2014-1-16 17:39:51 | 只看该作者
{:soso_e113:}L论坛好活跃
5#
发表于 2014-2-2 22:00:52 | 只看该作者
LZ,if语句如果不加花括号的话默认是只能控制一个语句的喔 →_→
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表