【发布时间】:2021-04-02 01:34:05
【问题描述】:
当我试图了解指针在 C 中的工作方式时,我编写了以下代码,该代码接受输入并将其添加到 1,然后将其打印出来,但问题是每次打印输出时我都会得到零/null ,如何避免打印空值?
#include <stdio.h>
#include <stdlib.h>
int main(){
int **q_Quantity,*pQuantity,input =0;
printf("Enter number:");
scanf("%d",&*pQuantity); //takes input
//pQuantity = (int *)malloc(*pQuantity+sizeof(int)*1);
pQuantity = *&pQuantity+1;//gives a 0
printf("%d\n",*pQuantity);
}
【问题讨论】:
-
你所做的是未定义的行为,你很幸运能得到任何输出。
-
您认为
&*pQuantity和pQuantity之间的区别是什么? -
我是否应该将它存储在一个 int 变量中,例如
int sum = *&pQuantity+1;?是不是不能把1加到指针上然后打印出来? -
哦,我意识到我的错误谢谢忍者