Chi*_*nna 5 c linux printf format-specifiers unions
我正在跟随工会
union data {
uint64_t val;
struct{
....
}
};
Run Code Online (Sandbox Code Playgroud)
我有一个功能
func(union data mydata[])
{
printf("%llu",(uint64_t)mydata[0]); // Here is the error
}
Run Code Online (Sandbox Code Playgroud)
当我编译此代码时,它给出了以下错误
error: aggregate value used where an integer was expected
Run Code Online (Sandbox Code Playgroud)
unw*_*ind 10
您无法访问索引联合数组的字段:mydata[0]是类型的值union data,并且无法转换为uint64_t.
您需要访问正确的union成员:
printf("%" PRIu64, mydata[0].val);
Run Code Online (Sandbox Code Playgroud)
选择uint64_t值.不需要演员.
另外:PRIu64用于可移植地打印64位值,您不能认为这%llu是正确的格式说明符.
| 归档时间: |
|
| 查看次数: |
26933 次 |
| 最近记录: |