| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 879 人关注过本帖
标题:有个简单的问题问问大家
只看楼主 加入收藏
gestopaxmc
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-1-2
收藏
 问题点数:0 回复次数:15 
有个简单的问题问问大家
今天我看书上一道题 用VC编译老是通不过!
#include<iostream.h>
void main()
{
bool j=5;int k=3
cout<<i==k;
}书上说结果是0
另外我有时候会在别的地方看到
return i==j
switch (i==2)
是不是相当于if(i==2)
就等于非零的数否则就等于0


搜索更多相关主题的帖子: void include return 
2007-03-27 20:34
csight
Rank: 1
等 级:新手上路
威 望:1
帖 子:293
专家分:0
注 册:2006-6-11
收藏
得分:0 
bool 型的变量赋予除0之外的值,都会是1;
这样和整形的比,==的结果的相等为1,否则是0;
这样以上的结果lz也可以猜得到了;

头可断,发型不可乱;血可流,皮鞋不可不擦油;
2007-03-27 20:44
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 

你这个程序有一堆错误

能编译那叫有鬼

首先,你这个程序发错了板块

这个是C++的问题

#include<iostream.h>
void main()
{
bool j=5;int k=3
cout<<i==k;
}

#include<iostream>才对

其次,bool是在C++语言中的 布尔变量(就是逻辑变量,值 有true(真),和false(假))

在C语言中是没有这个变量的


switch (i==2)

你这个switch语句严重错误

switch(表达式)

你里边都已经是运算了


就等于非零的数否则就等于0

没明白你得意思

总之,你这个程序漏洞百出


自我放逐。。。
2007-03-27 20:57
applegrape02
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-3-21
收藏
得分:0 

#include<iostream.h>
void main()
{
int j=5;int k=3;
cout<<(j==k);
}
第一个就通过了,“==”和“<<”的优先级注意。另外小的错误自己用心看看是能看出来的。

2007-03-27 21:35
gestopaxmc
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-1-2
收藏
得分:0 
3楼的版主 这是我前短时间做的一道题!那为什么里面Y==2 这道题的答案是A E F
我主要问的意思就是假如有i=1 j=2 那return i==j 以及SWITCH(I==J)是不是就返回0或者1 就相当于判断i j是否等于如果是表达式值等于非零 否就等于0
#include<stdio.h>
void main()
{
int x=1;
int y=2;
int z=3;
switch(x)
{
case 1: switch(y==2)
{
case 1: printf("a "); break;
case 2: printf("b "); break;
}
case 2: switch(z)
{
case 1: printf("c ");
case 2: printf("d ");break;
default:printf("e ");
}
default: printf("f ");
}
}

玉树临风赛潘安,一树梨花压海棠的.......
2007-03-27 21:42
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
以下是引用福尔摩斯在2007-3-27 20:57:48的发言:

switch (i==2)

你这个switch语句严重错误

搞错了吧,这个是没有错的(如果I已经定义了)I==2也是一个表达式,其值为0或1;
运行这个试试:


#include<stdio.h>
void main()
{
int i;
i=3;
switch(i==3)
{
case 0:
printf("aa");
case 1:
printf("bb");
}

}


雁无留踪之意,水无取影之心
2007-03-27 21:50
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
stdio.h C++中应改为iostream

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-03-27 21:50
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
以下是引用PcrazyC在2007-3-27 21:50:11的发言:

搞错了吧,这个是没有错的(如果I已经定义了)I==2也是一个表达式,其值为0或1;
运行这个试试:


#include<stdio.h>
void main()
{
int i;
i=3;
switch(i==3)
{
case 0:
printf("aa");
case 1:
printf("bb");
}

}

对不起

switch(i==3)可以这样用

我错了


自我放逐。。。
2007-03-27 21:55
gestopaxmc
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-1-2
收藏
得分:0 
4楼的是正解 怪我自己 我从书上直接抄的 我还以为书上写错了呢!!顺便问下6楼的(我主要问的意思就是假如有i=1 j=2 那return i==j 以及SWITCH(I==J)是不是就返回0或者1 就相当于判断i j是否等于如果是表达式值等于非零 否就等于0)我这样理解对么??

7楼的stdio.h C++中应改为iostream是什么意思??

玉树临风赛潘安,一树梨花压海棠的.......
2007-03-27 21:59
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
这个地方用iostream.h是对的,用iostream反而错了,看下面的,不过还是建议用iostream,加了.h是为了兼容旧的版本

iostream里的所有内容被封装在std命名空间内 ;iostream.h里的则没有
所以,如果 #include <iostream>,就需要 using namespace std;
如果是 #include <iostream.h>,就不必这样。
保留 iostream.h 是为了与以前的相兼容,现在不予推荐使用

雁无留踪之意,水无取影之心
2007-03-27 22:01
快速回复:有个简单的问题问问大家
数据加载中...
 
   



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

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