if (str[c]=='\0')//想让字符串结尾的时候执行
//可str==0102001388时,到了00就执行了。查了一下说是‘\0’在电脑中用电脑语言所代表的数值和0是相同的,这个怎么能区分?应该改成什么才好?我试了一下0\0也不行(偶尔能执行成功,但也会断掉)。
str数组是字符数组吗,如果它初始赋值为"0102001388", 使用str[c]=='\0' 作为判断结尾,应该是可以正常判断到的。
测试代码如下:
#include <iostream>
using namespace std;
int main(void){
char str[100]="0102001388";
int i=0;
while(str[i]!='\0'){
i++;
}
cout<<str<<endl;
cout<<"i="<<i<<endl;
return 0;
}
'\0'的值为0,注意与字符‘0’是有区别的。如果要判断字符0应该是str[i]=='0';
不知道你这个问题是否已经解决, 如果还没有解决的话: