51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1714|回复: 5
打印 上一主题 下一主题

[原创] while循环问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-10 10:25:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
char pre[100];       
while(pre!='\0')
cin>>pre[i++];
我输入\0后为什么退不出来循环呢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-9-10 10:32:22 | 只看该作者
怎么可能可以退出呢 你的这个\0是结束符的意思 而非字面意思 估计是回车 但可能不同的编译器 还会不同
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-9-10 11:09:30 | 只看该作者
int i=0;
char pre[100];      
cin>>pre;
while(pre!=-9999)
     cin>>pre[i++];

我用的是VC6.0工具,把刚才的\0改为-9999 后,我输入-9999后还是退不出来 ,请高手们指点!!!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-9-10 11:27:30 | 只看该作者
#include<iostream>
using namespace std;

void main()
{
int i=0;
char pre[10];      
cin>>pre;
while(*pre!='k'&&i<10)
     cin>>pre[i++];
}
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-9-10 13:35:37 | 只看该作者
你这样用while来判断的是输入的字符串是否结束吧?
pre[i++]这样是代表每次输入的一个字符,你输入\0进去只会认为是2个独立的字符。
而且你用pre来做判断,这个是字符串的首地址,没有++的话一直是第一个输入的字符值。
LZ可以不用循环,就直接用字符串输入cin<<*pre不知道可不可以
或者把while改成'\n'=pre
另外QTP应该是用VBScript的吧

[ 本帖最后由 IUHK 于 2008-9-10 13:38 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-9-10 14:40:40 | 只看该作者
先谢谢楼上朋友的意见,我不明白我输入‘-999’退不出 循环  
#include<iostream.h>
void main()
{
int i=0;
char pre[10];      
cin>>pre[0];
while(pre!='-999')
     cin>>pre[i++];
}
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-10-1 16:23 , Processed in 0.093894 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表