C语言中%d系列字符的使用

2024-12-25 07:52:21
推荐回答(2个)
回答1:

可以吧,尝试把格式控制字符串放在一个变量中试试看,我从来没有写过这样的代码,但是在汇编中用过类似的格式控制,不过我这个字符串变量中存放的也是个常量字符串。


不知道这个思路是否可行,你试试看吧,通过修改字符串变量,来控制输出格式


以下是汇编代码:

invoke    wsprintf,addr @szBuffer,addr szFormat,_dwCommandID

其中szFormat变量就是一个格式字符串


int __cdecl wsprintf(  _Out_  LPTSTR lpOut,  _In_   LPCTSTR lpFmt,  _In_    ...);


这个是函数原型,第二个参数就是格式字符串,是个指针类型数据,所以上面的例子用的是变量的地址

回答2:

//printf 函数中,*是表示输出的宽度需再读入一个变数。
//例如:
printf("%*d",5,5) 等于printf("%5d",5)
printf("%*d",9,3) 等于printf("%9d",3)
//你可以定义你的变量n ,然后赋值,然后 ,这样写  
printf("%*d",n,5);