我有两个数组,其中一个被注释了,我想制作一个通用的printf函数来打印这些值:
int values [] = { 88, 56, 100, 2, 25 };
//float values[] = {88.5f, 56.5f, 100.0f, 2.234f, 88.12f};
if (value[0] is int) {
for(i; i < 5; ++i)
printf("%d ", *(values + i));
} else {
for(i; i < 5; ++i)
printf("%f ", *(values + i));
}
有没有办法进行检查?例如,当我想要查看元素是字符还是整数时,我使用了sizeof。
_Generic(values[0], int: 0, float:1, default:2)
。 - Pascal Cuoq_Generic
,谢谢! - Matt Bryanti
初始化为0
了。而且为什么要使用*(values + i)
而不是values[i]
? - Keith Thompson