小编Nic*_*ick的帖子

scanf("%d",*p)和scanf("%d",p)之间有什么区别?

指针对我来说是一件新事物,我很难理解它,但我不会放弃并希望能够学习它.

scanf ("%d", *p)和之间会有什么区别scanf ("%d", p)

在示例中,我看到如果我想在变量中输入一些值,我应该使用scanf ("%d", p).这对我来说没有意义.不应该scanf ("%d", *p)吗?

我将其解释为:"在指针指向的位置放置一些整数值",例如它指向变量x然后它应该是x = 10,但事实并非如此.然后如何使用scanf()和指针在数组中设置值?

我在哪里以及出错了什么?我正在尝试使用C语言学习这个,因为它是我应该在我的班级中使用的语言.

例如:

#include <stdio.h>
int main () {
    float x[10], *p;
    int i;
    p = &x[0];
    for (i = 0; i < 10; i++) {
        scanf("%d", p + i);
    }
    for (i = 0; i < 10; i++) {
        printf("%d", *(p + i));
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么只p + i在第一个for …

c arrays pointers dereference

7
推荐指数
2
解决办法
1235
查看次数

标签 统计

arrays ×1

c ×1

dereference ×1

pointers ×1