C语言数据类型之若干个“%号”的辨析-

550 阅读1分钟

一.在C语言printf输出语句中: printf("格式控制",输出列表) 格式控制声明总是由“%”字符开始的 1.常见的格式声明只有一个“%”号,如果“%”号有2个,3个或者若干个,该如何读取信息呢,输出语句的内容怎么辨析?

由例题引出:

题中“%”号出现次数分别为2,3次,输出结果如下:

2.分析思路: (1).从左向右定位“%”号个数,每两位划分一组。

将两位%号看成一位百分号,将其后不是一组的内容原样解读。 例如%%d,将前两个%号化为一组,记为一个%号,其后为d,则原样输出%d。 %%%d将前两个%化为一组,其后剩余%d化为一组,原样解读为输出第一位i值---%8. 注意:由于%%d不属于格式控制,所以%%%d输出第一个值i,而不是j。 3.扩展:

#include<stdio.h>
int main()
{
    int i=8,j=9;
    printf("i=%%%d,j=%%%%d",i,j);
    return 0;
}

分析:%%%d---------------------前两个%号为一组,看成一个%号,后一个%d为十进制输出则i=%8.
      %%%%d--------------------同理输出为%%d。