啊哈磊_编程从这里起步

标题: 新手的又一个问题来了。。。 [打印本页]

作者: bazyu    时间: 2012-7-5 15:48
标题: 新手的又一个问题来了。。。
本帖最后由 rosynirvana 于 2014-9-29 22:45 编辑

问题真多啊。。

  1. #include <stdio.h>
  2. int main()
  3. {
  4.   int a,b,c;
  5.   scanf("%d %d",&a,&b);
  6.   if(a>b)
  7.   c=a, printf("%d",c);
  8.   if(a==b) printf("一样大");
  9.   else c=b,
  10.   printf("%d",c);
  11.   sleep (8000);
  12.   return 0;
  13. }
复制代码


只要输入的数字 a比b大  就会显示错误。。。  什么原因?
作者: admin    时间: 2012-7-5 15:48
语法和逻辑都有错误,多个语句都在if中的时候要用{}。括起来。
[mw_shl_code=c,true]#include <stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(a>b)
    {
        printf("%d",a);
    }
    else if(a==b)
        printf("一样大");
    else
    {
         printf("%d",b);
    }
    sleep (8000);
        return 0;
}[/mw_shl_code]

作者: bazyu    时间: 2012-7-5 16:58
admin 发表于 2012-7-5 15:57
语法和逻辑都有错误,多个语句都在if中的时候要用{}。括起来。
[mw_shl_code=c,true]#include
int main( ...

为什么11行  上下没有加{ }?  不需要么?
作者: ahac_wuleicity    时间: 2012-7-5 17:01
bazyu 发表于 2012-7-5 16:58
为什么11行  上下没有加{ }?  不需要么?

if 下面只有一个语句时可以不用{},否则要加{}
作者: admin    时间: 2012-7-5 17:11
ahac_wuleicity 发表于 2012-7-5 17:01
if 下面只有一个语句时可以不用{},否则要加{}

正解,不仅if,else,while,for都是的
作者: bazyu    时间: 2012-7-5 17:37
ahac_wuleicity 发表于 2012-7-5 17:01
if 下面只有一个语句时可以不用{},否则要加{}

十分感谢!~ 凑够十个字好辛苦~
作者: Primer_Plus    时间: 2012-7-7 16:50
admin 发表于 2012-7-5 17:11
正解,不仅if,else,while,for都是的

以及struct template union class enum . . .
作者: rosynirvana    时间: 2014-9-29 22:54
Primer_Plus 发表于 2012-7-7 16:50
以及struct template union class enum . . .

C里面没有template
而且template的大括号不还是function或者class的括号

lz的问题是语义上的
输入3 2
第一个if符合条件,第二个if的else分支也符合条件,两个都输出所以就变成32了
只要在第二个 if前面加个else就行了
作者: 久住孤海    时间: 2014-10-12 08:02
#include <stdio.h> int main() {     int a,b,c;         scanf ("%d%d",&a,&b);     if (a>b){     c=a;     printf("%d",c);         }     if (a==b){ printf("一样大");         }     else {c=b;     printf("%d",c);     }         system("pause");         return 0; }
作者: 三阳路_陈锦源    时间: 2018-9-14 20:35
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(a>b)
    {
        printf("%d",a);
    }
    else if(a==b)
        printf("一样大");
    else
    {
         printf("%d",b);
    }
    sleep (8000);
        return 0;




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2