tst-fphex.c
来自「绝对正真的stdio.h的实现」· C语言 代码 · 共 52 行
C
52 行
/* Test program for %a printf formats. */#include <stdio.h>#include <string.h>struct testcase{ double value; const char *fmt; const char *expect;};static const struct testcase testcases[] = { { 0x0.0030p+0, "%a", "0x1.8p-11" }, { 0x0.0040p+0, "%a", "0x1p-10" }, { 0x0.0030p+0, "%040a", "0x00000000000000000000000000000001.8p-11" }, { 0x0.0040p+0, "%040a", "0x0000000000000000000000000000000001p-10" }, { 0x0.0040p+0, "%40a", " 0x1p-10" }, { 0x0.0040p+0, "%#40a", " 0x1.p-10" }, { 0x0.0040p+0, "%-40a", "0x1p-10 " }, { 0x0.0040p+0, "%#-40a", "0x1.p-10 " }, { 0x0.0030p+0, "%040e", "00000000000000000000000000007.324219e-04" }, { 0x0.0040p+0, "%040e", "00000000000000000000000000009.765625e-04" }, };static intdo_test (int argc, char **argv){ const struct testcase *t; int result = 0; for (t = testcases; t < &testcases[sizeof testcases / sizeof testcases[0]]; ++t) { char buf[1024]; int n = snprintf (buf, sizeof buf, t->fmt, t->value); if (n != strlen (t->expect) || strcmp (buf, t->expect) != 0) { printf ("%s\tExpected \"%s\" (%Zu)\n\tGot \"%s\" (%d, %Zu)\n", t->fmt, t->expect, strlen (t->expect), buf, n, strlen (buf)); result = 1; } } return result;}#include "../test-skeleton.c"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?