c语输入单引号_C语言的printf不能用单引号?

多年没用C语言了。近日用R语言编程时因有太多循环,只好用C写个扩展模块,一时竟不知怎么动手了。在多种语言中,单引号和双引号是可以等同使用的。因键入双引号要比单引号多按一SHIFT键,我偏好单引号。在用printf显示字符串, 我就自然地用上了单引号来定义格式串,哪知用gcc编译时竟出错了:

[xxia@xxq 4Mike]$ gcc pvc.c

pvc.c:179:9: warning: multi-character character constant

pvc.c: In function ‘pv_concord_more’:

pvc.c:179: warning: passing argument 1 of ‘printf’ makes pointer from integer without a cast

pvc.c:184:9: warning: multi-character character constant

pvc.c:184: warning: passing argument 1 of ‘printf’ makes pointer from integer without a cast

pvc.c:229:9: warning: multi-character character constant

pvc.c:229: warning: passing argument 1 of ‘printf’ makes pointer from integer without a cast

pvc.c:232:9: warning: multi-character character constant

pvc.c:232: warning: passing argument 1 of ‘printf’ makes pointer from integer without a cast

[xxia@xxq 4Mike]$

改回双引号后,才顺利编译。

实在不记得C语言中单双引号的区别了,不知是当初没学好,还是搞忘了,抑或是gcc的一个特点?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值