求解一个关于c语言指针的小问题

输出语句这里不应该是*p1和*p2吗?加了*就什么都输出不了,下面这种情况就能编译成功,为什么啊#include<stdio.h>main(){char*p1;p1="q... 输出语句这里不应该是*p1和*p2吗?加了*就什么都输出不了,下面这种情况就能编译成功,为什么啊
#include<stdio.h>
main()
{
char *p1;p1="qwerty";
printf("%s\n",p1);
int *p2;p2=123;
printf("%d\n",p2);
}
展开
 我来答
xoaxa
2020-02-22 · TA获得超过8607个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3389万
展开全部

#include<stdio.h>

int main() {

    char *p1;

    p1 = "qwerty";// 这样赋值是不允许的

    printf("%s\n",p1); 

    int *p2;

    p2 = 123;// 直接给指针赋值也是错误的

    printf("%d\n",p2);

    return 0;

}

一颗程序猿o_0
2020-02-22 · TA获得超过6296个赞
知道大有可为答主
回答量:5403
采纳率:77%
帮助的人:1294万
展开全部
%s输出字符串时,后面的对应参数应该是一个指针, *p就变成字符(char)了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我3Q1
2020-02-22 · TA获得超过312个赞
知道小有建树答主
回答量:433
采纳率:65%
帮助的人:149万
展开全部
只有*是指针,&可以取出来指针对应地址的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谜休3
2020-04-01 · TA获得超过159个赞
知道小有建树答主
回答量:315
采纳率:81%
帮助的人:70.2万
展开全部
%s是字符串来着,要有输出,改成%c,但也只能输出一个首字母而已。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式