| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 589 人关注过本帖
标题:if else 的一个小问题
只看楼主 加入收藏
linkang1024
Rank: 2
等 级:论坛游民
帖 子:90
专家分:83
注 册:2011-10-10
结帖率:70.83%
收藏
已结贴  问题点数:20 回复次数:10 
if else 的一个小问题
#include<stdio.h>
int main()
{
    int a,temp;
    printf("请输入个正数:\n");
    scanf("%f",&a);
    if (a<1000)
        temp=a*a;
    printf("%f",temp);
    else
        printf("请重新输入一个正数:\n");
    scanf("%f",&a);
    return 0;
}
逻辑上  这可能是错的    我只是想看下这样写会有什么结果    但是提示error C2181: illegal else without matching if  为何会这样   if else 哪里用错了?
2012-03-22 16:26
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:10 
if()后面只能跟1条语句或者语句块。错误提示你else没有对应的if。

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2012-03-22 16:29
linkang1024
Rank: 2
等 级:论坛游民
帖 子:90
专家分:83
注 册:2011-10-10
收藏
得分:0 
回复 2楼 lonmaor
#include<stdio.h>
int main()
{
    int a,temp;
    printf("请输入个正数:\n");
    scanf("%f\n",&a);
    if (a>1000)
    {
        printf("请重新输入一个正数:\n");
    scanf("%f\n",&a);
    }
    temp=a*a;
    printf("%f",temp);
    return 0;
}
我改成这样   为何  能组建  但是运行时出现
图片附件: 游客没有浏览图片的权限,请 登录注册
  啥情况
2012-03-22 16:36
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:10 
程序代码:
#include<stdio.h>

 int main()

 {
     int a,temp;
     printf("请输入个正数:\n");
     scanf("%f",&a);
     if (a<1000)
         {temp=a*a;
          printf("%f",temp);
         }
     else
         {printf("请重新输入一个正数:\n");
         scanf("%f",&a);
         }
     return 0;

 }
如二楼所述,缺{}

 

最基础的往往是你最容易忽略的!
2012-03-22 16:37
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:0 
temp不能用%f输出,用%d 

最基础的往往是你最容易忽略的!
2012-03-22 16:39
linkang1024
Rank: 2
等 级:论坛游民
帖 子:90
专家分:83
注 册:2011-10-10
收藏
得分:0 
回复 5楼 于祥
  我还有一个小问题  就是我输入一个数50  如果我直接按enter  它会直接要我输入另一个数   如果我在第一次输入时加个逗号就不会出现那个情况  这是为何? (新手   书我已经看完了   现在返过头来做习题  指教下  
2012-03-22 16:45
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:0 
回复 6楼 linkang1024
程序代码:
#include<stdio.h>

 int main()

 {
     int a,temp;
     printf("请输入个正数:\n");
     scanf("%d\n",&a);
     if (a>1000)
     {
         printf("请重新输入一个正数:\n");
     scanf("%d\n",&a);
     }
     temp=a*a;
     printf("%d",temp);
     return 0;

 }

 你用的是这个吗?这个里的
scanf("%d\n",&a);中不能有'\n'这是scanf的用法

最基础的往往是你最容易忽略的!
2012-03-22 16:52
linkang1024
Rank: 2
等 级:论坛游民
帖 子:90
专家分:83
注 册:2011-10-10
收藏
得分:0 
回复 7楼 于祥
   行了 谢了   这还真多要求啊
2012-03-22 17:05
rjvsky
Rank: 3Rank: 3
来 自:陕西西安
等 级:论坛游侠
帖 子:77
专家分:106
注 册:2012-3-6
收藏
得分:0 
if语句后少了{};if  else后只能跟一句!!!

企业需要的人才,是真正可以给他们带来经济效益的人,而不是一大堆没用的证书,看淡证书,强化自己···
2012-03-22 20:46
Mika_sleepin
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2012-3-17
收藏
得分:0 
……  if 后面只能给一个语句,若是多个得用{}括起来才行
2012-03-22 21:51
快速回复:if else 的一个小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019411 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved