我是C编程语言的初学者.我在书上看到了一个代码:
#include<stdio.h>
int main(){
int * * k, *a, b=100;
a = &b;
k = &a;
printf("%d\n",* * k);
}
Run Code Online (Sandbox Code Playgroud)
我不知道的意思int * *k.这是整数指针还是值?它会指向什么?它包含什么/存储?这个变量有什么用?我怎么能理解这个表达方式?
“ABCDE”没有空字符。但是当我输入
"" in "ABCDE"
Run Code Online (Sandbox Code Playgroud)
Python 解释器返回True.
为什么?
“ABCDE”中有空字符吗?我不这么认为。
当我使用这些代码时,我还发现:
target = ''
src = 'ABCDE'
src.find(target)
Run Code Online (Sandbox Code Playgroud)
它返回 0 而不是 -1
为什么是这样?
我正在学习c编程语言的基本知识。现在我对指针部分感到困惑。书中有原问题:
数组 a 有一些值,指针 p 现在位于 a[1]:
a[0]:10
a[1]:20 <---p
a[2]:30
a[3]:40
a[4]:50
Run Code Online (Sandbox Code Playgroud)
问题清单:
*p执行后的值是* p++什么?* ++p什么?++ * p什么?那么,*p++, * ++p,之间有什么区别++*p?
在我看来:
*p++意味着移动指针p指向下一个元素,所以第一个答案是 30。*p++和*++p一样的差异i++和++i。所以第二个答案是 30。*p表示指针p的值,所以++*p表示让p值增加1。所以第三个答案是21;我对吗?