| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 833 人关注过本帖, 1 人收藏
标题:printf的问题
只看楼主 加入收藏
周章明
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-4-28
结帖率:50%
收藏(1)
已结贴  问题点数:10 回复次数:10 
printf的问题
江湖救急:
 char format[10] = "%";
printf(format, array[j]);
为什么可以这样使用呢?
而不是
printf("%c",array[i]);?
搜索更多相关主题的帖子: 江湖 
2013-05-10 16:52
yyqd2013
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:35
专家分:154
注 册:2013-5-8
收藏
得分:1 
不知道能不能帮你解释:打印结果:"%d", 1   1
#include <stdio.h>
#include <stdlib.h>

int
main()
{
        char format[10] = "%d";
        printf("\"%s\", 1   ", format);
        printf(format, 1);
        exit(1);
}
2013-05-10 17:20
周章明
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-4-28
收藏
得分:0 
这样编译可以通过,但我就是不知道为什么?不知道你能否解释一下。
2013-05-10 18:15
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:1 
代码都不全 j是啥 i是啥
2013-05-10 18:36
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:1 
等答案!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-10 22:36
黑客编程
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2013-4-18
收藏
得分:1 
看不明白
2013-05-10 23:07
jackliuwenli
Rank: 1
等 级:新手上路
帖 子:6
专家分:5
注 册:2013-3-28
收藏
得分:1 
请参考函数原型:
int printf(const char *format, ...);
2013-05-11 00:16
周章明
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-4-28
收藏
得分:0 
我看了函数原型,可是这不能跟这个对上。
2013-05-11 08:58
龙牙
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大汉
等 级:贵宾
威 望:17
帖 子:769
专家分:6207
注 册:2013-3-18
收藏
得分:1 
你应该把程序整个打出,大家才好解决。

只要心是晴朗的,人生就没有雨天。
2013-05-11 09:18
周章明
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-4-28
收藏
得分:0 
#include <stdio.h>
#include <string.h>
#include <ctype.h>

#define MAX_COUNT 100

void show(double array[], size_t array_size, unsigned int field_width);

void main()
{
  double array[MAX_COUNT] = {0.0};
  int count = 0;
  char answer = 'n';
  do
  {
    printf("Enter a value: ");
    scanf("%lf", &array[count++]);
    printf("Do you want to enter another (y or n)?: ");
    scanf(" %c",&answer);
  }while(count<= MAX_COUNT && tolower(answer) == 'y');

  show(array, count, 12);
  
   printf("\n");
}

void show(double array[], size_t array_size, unsigned int field_width)
{
  char format[10] = "%";   
  char width_str[4];      
  size_t i = 0;
  size_t j = 1;


  do
  {
    width_str[i++] = '0'+field_width%10;
  }while((field_width /= 10) != 0);


  do
  {
    format[j++] = width_str[--i];
  }while(i>0);
  format[j] = '\0';
  strcat(format, "lf");     /* Append specification for double */


  for(j = 0 ; j<array_size ; j++)
  {
    if(j%5 == 0)
      printf("\n");
    printf(format, array[j]);
  }
}
这就是这道题。您可以看一下。
2013-05-11 09:20
快速回复:printf的问题
数据加载中...
 
   



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

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