
C语言中 expected ‘)’ before PRId16’的问题
#include<stdio.h>#include<inttypes.h>intmain(void){int16_tme16;me16=4593;printf("firs...
#include <stdio.h>
#include <inttypes.h>
int main (void)
{
int16_t me16;
me16 = 4593;
printf ("first,assume int16_t is short:");
printf ("me16 = %hd\n",me16);
printf ("Next,let's not make any assumptions.\n");
printf ("instead,use a \"macro\" from inttypes.h:");
printf ("me16 = %" PRId16 "\n", me16);
return 0;
}
[Error] C:\Documents and Settings\Administrator\My Documents\C-Free\Temp\未命名1.cpp:12: error: expected `)' before "PRId16"
显示倒数第二行出错,但是是什么问题呢?
但是我按照C primer plus第五版打的,他是这样,莫非第五版错了? 展开
#include <inttypes.h>
int main (void)
{
int16_t me16;
me16 = 4593;
printf ("first,assume int16_t is short:");
printf ("me16 = %hd\n",me16);
printf ("Next,let's not make any assumptions.\n");
printf ("instead,use a \"macro\" from inttypes.h:");
printf ("me16 = %" PRId16 "\n", me16);
return 0;
}
[Error] C:\Documents and Settings\Administrator\My Documents\C-Free\Temp\未命名1.cpp:12: error: expected `)' before "PRId16"
显示倒数第二行出错,但是是什么问题呢?
但是我按照C primer plus第五版打的,他是这样,莫非第五版错了? 展开
7个回答
展开全部
printf ("me16 = %" PRId16 "\n", me16);
这一行错了, 双引号使用不对。如果你要打印出来双引号,就要加上转义符如:
printf ("me16 = %\" PRId16 \"\n", me16);
另外,在%后面是少了一个类型描述符。请根据me16的类型加上正确的类型描述符,如%d或%s之类的。
这一行错了, 双引号使用不对。如果你要打印出来双引号,就要加上转义符如:
printf ("me16 = %\" PRId16 \"\n", me16);
另外,在%后面是少了一个类型描述符。请根据me16的类型加上正确的类型描述符,如%d或%s之类的。

2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
没错,我是第一次打成PRID16 然后宏就出不来,错误信息和你一样,
后来发现应该是小写d,改了之后就行了。你再试试。
后来发现应该是小写d,改了之后就行了。你再试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf ("me16 = %" PRId16 "\n", me16);中PRId 是用的大写的i 吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2021-08-06
展开全部
是因为编译器不支持inttypes.h,换个编译器就好了,比如vs。(实际测试)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询