C语言 使用由sprintf形成的缓冲区作为sscanf的输入


#include <stdio.h>
int main()
{
char buffer[50];
int a = 10, b = 20;
sprintf(buffer, "%%%dd %%%dd %%%ds", a ,b ,5);
printf("%sn", buffer);
return 0;
}

当前正在打印:%10d %20d %5s

我需要它打印为:%d %d %5d

作为sscanf中的格式使用。

不确定将在sscanf中作为字符串输入传递的整数长度。不确定传递什么来代替ab

请帮…

我需要它打印为:%d %d %5d

sprintf( buffer, "%%d %%d %%%dd", 5 );

如果要打印文字'%',则需要在格式字符串中给出"%%"("转义百分比")。其余部分正常运行:

  • "% % d"是
    • "%",后面跟着
    • "d">

:

  • "% % % dd"是
    • "%",后面跟着
    • 参数列表中的小数,后面跟着
    • "d">

相关内容

  • 没有找到相关文章

最新更新