首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法识别的指针行为

无法识别的指针行为
EN

Stack Overflow用户
提问于 2015-11-05 04:20:43
回答 2查看 47关注 0票数 0
代码语言:javascript
运行
复制
#include<stdio.h>
int main() {
  char str[]={'1','2','3'},*p;
  p=str;
  printf("%c",p);
  return 0;
}

输出-@。

它不应该打印1或%c可能是原因?

EN

回答 2

Stack Overflow用户

发布于 2015-11-05 04:23:16

要打印指针上的值(如您所预期的1 ),您需要取消对该指针的引用。在你的情况下,

代码语言:javascript
运行
复制
printf("%c",p);

应该是

代码语言:javascript
运行
复制
printf("%c", *p);

printf("%c",p);将调用未定义的行为,因为提供的参数类型将与提供的格式说明符不匹配。

票数 4
EN

Stack Overflow用户

发布于 2015-11-05 04:24:01

P是一个指针。

你想要printf("%c",*p);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33531262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档