liyf51 发表于 2008-9-10 10:25:10

while循环问题

char pre;       
while(pre!='\0')
cin>>pre;
我输入\0后为什么退不出来循环呢 :handshake

lantianwei 发表于 2008-9-10 10:32:22

怎么可能可以退出呢 你的这个\0是结束符的意思 而非字面意思 估计是回车 但可能不同的编译器 还会不同

liyf51 发表于 2008-9-10 11:09:30

int i=0;
char pre;      
cin>>pre;
while(pre!=-9999)
   cin>>pre;

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

lantianwei 发表于 2008-9-10 11:27:30

#include<iostream>
using namespace std;

void main()
{
int i=0;
char pre;      
cin>>pre;
while(*pre!='k'&&i<10)
   cin>>pre;
}

IUHK 发表于 2008-9-10 13:35:37

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

[ 本帖最后由 IUHK 于 2008-9-10 13:38 编辑 ]

liyf51 发表于 2008-9-10 14:40:40

先谢谢楼上朋友的意见,我不明白我输入‘-999’退不出 循环
#include<iostream.h>
void main()
{
int i=0;
char pre;      
cin>>pre;
while(pre!='-999')
   cin>>pre;
}
页: [1]
查看完整版本: while循环问题