我尝试使用指针输出字符串"Hello".这是代码
char s[] = "Hello";
char * p;
for( p = s; p[0]; ++ p )
cout << * p;
return 0;
Run Code Online (Sandbox Code Playgroud)
我不明白为什么p[0]for循环可以工作.
Bar*_*icz 10
p[0]*p在这种情况下完全等同于.它将'\0'在数组的末尾进行求值,这意味着数值为0,然后将其转换为false值并停止循环.