puts函数出现warning: passing argument 1 of ‘puts’ from incompatible pointer type(警告:从不兼容的指针类型传递“puts”的参数...

代码:

 1 /*************************************************************************
 2     > File Name: ptr_variable.c
 3     > Author: Mr.Yang
 4     > Purpose:演示指向变量的指针 
 5     > Created Time: 2017年06月03日 星期六 08时47分33秒
 6  ************************************************************************/
 7 
 8 #include <stdio.h>
 9 #include <stdlib.h>
10 
11 int main(void)
12 {
13         int a = 1000;
14         printf("a的地址为:%d\n",&a);
15 
16        int *p;
17         puts(p);
18         printf("指针p的地址为:%d\n",&p);
19 
20         return 0;
21 }

错误完整描述:

1 ptr_variable.c: In function ‘main’:
2 ptr_variable.c:17:7: warning: passing argument 1 of ‘puts’ from incompatible pointer type
3   puts(p);
4        ^
5 In file included from ptr_variable.c:8:0:
6 /usr/include/stdio.h:695:12: note: expected ‘const char *’ but argument is of type ‘int *7  extern int puts (const char *__s);
8             ^

由描述可知,puts需要const char *但是参数给了 int *,通过查询puts函数的用法(如下:附)可知,里面是一个字符串参数,不是int型参数,所以上面的代码可把int *p改为char *p即可编译通过。

附:puts()函数用于将一字符串放到标准输出流(stdout)中,并在最后增加换行符 '\n',其函数原型如下:
       int puts(char *string);

转载于:https://www.cnblogs.com/yanglai/p/6936341.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值