我size_t在C中感到困惑.我知道它是由sizeof运营商返回的.但究竟是什么呢?它是数据类型吗?
假设我有一个for循环:
for(i = 0; i < some_size; i++)
Run Code Online (Sandbox Code Playgroud)
我应该使用int i;或size_t i;?
这是一个很短的,但非常恼人.我知道我可以计算字符串在另一个字符串中出现的次数,如下所示:
'banana'.count('a')
>>>3
Run Code Online (Sandbox Code Playgroud)
意思是banana包含"a"3次字母.
这是一种奇怪的地方.
我的第一个困惑是 - 当我这样做时'foo'.count(''),Python会寻找什么?
是''==无==什么?
情况似乎并非如此,但从''逻辑上讲,这又是什么呢?更重要的是,为什么呢
'test'.count('')
>>>5
Run Code Online (Sandbox Code Playgroud)
返回一个多于字符串的长度?
什么到底是什么包含在一个总是比字母数量高1的字符串?虚空?
编辑:'角色两次看起来像一个"角色.我在'这里谈两次,以避免混淆
编辑2:似乎有一些关于如何''发生的混乱.请参阅以下评论.
我知道str.count(sub)返回substring sub的出现次数.但是我遇到了一个我无法理解的奇怪问题.
我的代码如下:
str = 'helloworld'
print(str.count(''))
>>>11
Run Code Online (Sandbox Code Playgroud)
输出令人费解.它为什么返回11?如果''是任何字母,为什么不返回它的长度(10)?我没有找到任何关于此的答案.谁能告诉我实施情况?