51Testing软件测试论坛

标题: while循环问题 [打印本页]

作者: liyf51    时间: 2008-9-10 10:25
标题: while循环问题
char pre[100];       
while(pre!='\0')
cin>>pre[i++];
我输入\0后为什么退不出来循环呢
作者: lantianwei    时间: 2008-9-10 10:32
怎么可能可以退出呢 你的这个\0是结束符的意思 而非字面意思 估计是回车 但可能不同的编译器 还会不同
作者: liyf51    时间: 2008-9-10 11:09
int i=0;
char pre[100];      
cin>>pre;
while(pre!=-9999)
     cin>>pre[i++];

我用的是VC6.0工具,把刚才的\0改为-9999 后,我输入-9999后还是退不出来 ,请高手们指点!!!
作者: lantianwei    时间: 2008-9-10 11:27
#include<iostream>
using namespace std;

void main()
{
int i=0;
char pre[10];      
cin>>pre;
while(*pre!='k'&&i<10)
     cin>>pre[i++];
}
作者: IUHK    时间: 2008-9-10 13:35
你这样用while来判断的是输入的字符串是否结束吧?
pre[i++]这样是代表每次输入的一个字符,你输入\0进去只会认为是2个独立的字符。
而且你用pre来做判断,这个是字符串的首地址,没有++的话一直是第一个输入的字符值。
LZ可以不用循环,就直接用字符串输入cin<<*pre不知道可不可以
或者把while改成'\n'=pre
另外QTP应该是用VBScript的吧

[ 本帖最后由 IUHK 于 2008-9-10 13:38 编辑 ]
作者: liyf51    时间: 2008-9-10 14:40
先谢谢楼上朋友的意见,我不明白我输入‘-999’退不出 循环  
#include<iostream.h>
void main()
{
int i=0;
char pre[10];      
cin>>pre[0];
while(pre!='-999')
     cin>>pre[i++];
}




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2