if (str[c]=='\0')//想让字符串结尾的时候执行
//可str==0102001388时,到了00就执行了。查了一下说是‘\0’在电脑中用电脑语言所代表的数值和0是相同的,这个怎么能区分?应该改成什么才好?我试了一下0\0也不行(偶尔能执行成功,但也会断掉)。
c++,系统将\0和00划等号了,怎么区分
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
a5156520 2023-04-06 14:08关注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; }
解决 无用评论 打赏 举报 编辑记录