gpt4 book ai didi

c - 手动打印 char * 的单个值而不循环或递增

转载 作者:太空宇宙 更新时间:2023-11-04 03:39:28 26 4
gpt4 key购买 nike

有没有办法在不引入循环或通过递增影响指针的情况下手动将 *char 数组的元素打印为十六进制值?

它不应该添加引入额外的变量,改变当前变量并且应该是一个单行代码printf/printk/...

最佳答案

没有循环,指针和大小实际上是常量参数:

void fun( char * ptr, uint idx, uint size )
{
if( idx < size )
{
printf( "% 2x\n", ( unsigned char ) ( ptr[idx] ) );
fun( ptr, 1 + idx, size );
}
}

调用示例:

char ray[] = { 0xca, 0xff, 0xee, 0x00 };
fun( ray, 0, sizeof( ray ) / sizeof( ray[0] ) );

关于c - 手动打印 char * 的单个值而不循环或递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29818800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com