我的问题是关于废弃一个字符指针与字符指针和整数指针
在这里工作是我的代码 -
#define MAX 10
char s[80]="Hello";
int main(){
char *stackValue;
stackValue=&s;//here I assined the address of s to stackValue
if(!stackValue){
printf("No place for Value");
exit(1);
}
else{
printf("\n%s",*stackValue);//This doesn't work with * before it
printf("\n%s",stackValue);//This works properly
}
return 0;
}
在上面的代码中,我已经分配的S的地址[]以stackValue和当我打印* stackValue这是行不通的,
但如果我只打印“stackValue”工程。
当我做同样的事情整数
int main(){
int i=10, *a;
a=&i;
printf("%d",*a);//this gives the value
printf("%d",a)//this gives the address
return 0;
}
在打印字符指针和整数指针是不同的。当我在int值中使用*时,它会给出该值,但当我将它用作字符指针时会给出错误。
帮助我吗?
是啊,是的,但我的问题仍然存在,当我使用* stackValue它不打印S []的价值,但打印一个int值,当我打印'stackValue'时,只打印值 – uniqueNt
它打印什么并不重要 - 它是未定义的行为(这意味着任何事情都可能发生)。你的代码从一开始就是错误的,所以在错误的printf中没有太多要说明的地方。 – artm
我再次修改我的代码,它仍然不能做出正确的输出 – uniqueNt