小编Bin*_*Sun的帖子

"int**k"是什么意思?

我是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.这是整数指针还是值?它会指向什么?它包含什么/存储?这个变量有什么用?我怎么能理解这个表达方式?

c pointers pointer-to-pointer

3
推荐指数
1
解决办法
2106
查看次数

为什么每个字符串都包含空字符串?

“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

为什么是这样?

python string

2
推荐指数
1
解决办法
577
查看次数

C语言指针中的*p++,*++p,++*p有什么区别?

我正在学习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)

问题清单:

  1. *p执行后的值是* p++什么?
  2. 的价值是* ++p什么?
  3. 的价值是++ * p什么?

那么,*p++, * ++p,之间有什么区别++*p?

在我看来:

  1. *p++意味着移动指针p指向下一个元素,所以第一个答案是 30。
  2. 的差异*p++和*++p一样的差异i++和++i。所以第二个答案是 30。
  3. *p表示指针p的值,所以++*p表示让p值增加1。所以第三个答案是21;

我对吗?

c pointers

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×2

pointers ×2

pointer-to-pointer ×1

python ×1

string ×1