⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sprintf.c

📁 linux下编程用 编译软件
💻 C
字号:
/* Copyright (C) 2003  Free Software Foundation.   Test sprintf optimizations don't break anything and return the   correct results.   Written by Roger Sayle, June 22, 2003.  */static char buffer[32];extern void abort ();typedef __SIZE_TYPE__ size_t;extern int sprintf(char*, const char*, ...);extern void *memset(void*, int, size_t);extern int memcmp(const void*, const void*, size_t);void test1(){  sprintf(buffer,"foo");}int test2(){  return sprintf(buffer,"foo");}void test3(){  sprintf(buffer,"%s","bar");}int test4(){  return sprintf(buffer,"%s","bar");}void test5(char *ptr){  sprintf(buffer,"%s",ptr);}voidmain_test (void){  memset (buffer, 'A', 32);  test1 ();  if (memcmp(buffer, "foo", 4) || buffer[4] != 'A')    abort ();  memset (buffer, 'A', 32);  if (test2 () != 3)    abort ();  if (memcmp(buffer, "foo", 4) || buffer[4] != 'A')    abort ();  memset (buffer, 'A', 32);  test3 ();  if (memcmp(buffer, "bar", 4) || buffer[4] != 'A')    abort ();  memset (buffer, 'A', 32);  if (test4 () != 3)    abort ();  if (memcmp(buffer, "bar", 4) || buffer[4] != 'A')    abort ();  memset (buffer, 'A', 32);  test5 ("barf");  if (memcmp(buffer, "barf", 5) || buffer[5] != 'A')    abort ();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -