| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 691 人关注过本帖
标题:可变长参数程序开发遇到的问题
取消只看楼主 加入收藏
abc594986308
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:116
注 册:2013-3-18
结帖率:82.93%
收藏
已结贴  问题点数:3 回复次数:2 
可变长参数程序开发遇到的问题
#include<stdio.h>
#include<stdarg.h>
#include<assert.h>

void tiny_printf(char *format,...)
{
    int i;
    va_list  ap;
    va_start(ap,format);
    for(i=0;format[i] != '\0';i++){
        switch(format[i]){
        case 's':printf("%s ",va_arg(ap,char*));
            break;
        case 'd':printf("%d ",va_arg(ap,int));
            break;
        default:assert(0);
        }
    }
    va_end(ap);
    putchar('\n');
}
int main(void)
{
    tiny_printf("sdd","result..",3,5);
    tiny_printf("sdd","result..",6,7);
    return 0;
}
tiny_printf()为什么只能输出两个整形数据?
搜索更多相关主题的帖子: default 程序开发 include result 
2013-07-21 11:29
abc594986308
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:116
注 册:2013-3-18
收藏
得分:0 
回复 2楼 rjsp
windowns vc++6.0
2013-08-14 21:40
abc594986308
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:116
注 册:2013-3-18
收藏
得分:0 
回复 4楼 rjsp
#include<stdio.h>
#include<stdarg.h>
#include<assert.h>

void tiny_printf(char *format,...)
{
    int i;
    va_list  ap;
    va_start(ap,format);
    for(i=0;format[i] != '\0';i++){
        switch(format[i]){
        case 's':printf("%s ",va_arg(ap,char*));
            break;
        case 'd':printf("%d ",va_arg(ap,int));
            break;
        default:assert(0);
        }
    }
    va_end(ap);
    putchar('\n');
}
int main(void)
{
    tiny_printf("sdd","result..",3,5,8);//这里
    tiny_printf("sdd","result..",6,7,8);//这里
    return 0;
}
我写了三个数还是输出两个值。。。我的疑问在这里,没写清楚,见谅啊
2013-08-15 13:08
快速回复:可变长参数程序开发遇到的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027442 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved