zoukankan      html  css  js  c++  java
  • 43.可变参数实现printf

     1 #include <stdio.h>
     2 #include  <stdio.h>
     3 #include <Windows.h>
     4 #include <stdarg.h>
     5 
     6 void myprintf(char *ptstr, ...)//可变参数
     7 {
     8     va_list ap;//起始点
     9     va_start(ap, ptstr);//从ptstr开始向后读取数据存放在ap中
    10     char flag;//依次读取一个字符
    11     while (*ptstr != '')
    12     {
    13         flag = *ptstr;
    14         if (*ptstr != '%')
    15         {
    16             putchar(flag);//打印字符
    17             ptstr++;
    18         }
    19         else
    20         {
    21             ptstr++;//往前 %d %c %s %%
    22             flag = *ptstr;//取出字符
    23 
    24             switch (flag)
    25             {
    26             case 'd':
    27             {
    28                 int data = va_arg(ap, int);//读取下一个参数安装int
    29                 printf("%d", data);//整数转化字符串,挨个显示字符
    30                 break;
    31             }
    32 
    33             case 's':
    34             {
    35                 char* data = va_arg(ap, char*);//读取下一个参数安装int
    36                 printf("%s", data);//整数转化字符串,挨个显示字符
    37                 break;
    38             }
    39 
    40             case 'c':
    41             {
    42                 char data = va_arg(ap, char);//读取下一个参数安装int
    43                 putchar(data);
    44                 break;
    45             }
    46             }
    47             ptstr++;
    48         }
    49     }
    50     va_end(ap);//结束读取
    51 }
    52 
    53 void main()
    54 {
    55     myprintf("abcd%s%c
    ","成都市",'t');
    56 
    57     system("pause");
    58 }
  • 相关阅读:
    软件工程——小学生的四则运算(java)
    软件工程——小学生的四则运算
    利用python实现微信小项目
    SQLite3数据库
    爬虫———python
    模拟足球训练
    文件的转换
    学习成绩雷达图
    <dvi>
    vue 锚点跳转防止路径变化后,刷新页面报错的问题
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8353071.html
Copyright © 2011-2022 走看看