我在counting sort
上阅读Geeksforgeeks算法。我已经理解了算法但我在下面的for loop
语法中遇到了问题。
for(int i=0; arr[i]; i++) {
++count[arr[i]];
}
在这里,arr[]
是char
阵列,count[]
是integer
阵列。
我尝试过以下代码,但它没有做任何事情: -
for(int i =0; "c";i++){
cout<<i;
}
请帮助我理解这种for loop
。
arr[i]
评估一个角色。如果它是一个空字符,那么循环将终止。你可以把它想象成
for(int i=0; arr[i] != '\0'; i++) {}
在C ++中,除0
之外的任何值都评估为true
。 '\0'
编码为0
,因此当arr[i]
的值变为false
时,'\0'
将评估为0
。
n4659-§5.3/ 3:
[...] null字符(分别为null宽字符),其值为qazxswpoi [...]