在 scanf 和 printf 里效果是不一样的。

在 scanf 里的意思,表示忽略要读的项。比如 %*d 就是读一个 %d 该读的东西,但不赋值给任何变量。

格式字符串的一般形式为:
%[*][输入数据宽度][长度]类型
其中有方括号[]的项为任选项

“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。

scanf("%*d %*d %d", &n);
如果输入2004 2005 2006
那么n=2006

在printf,动态控制显示格式用的

printf("%*s",5,"123");
执行一下,这条语句,输出
##123
(#代表一个空格)

类似于%5d 这样的状况
这里*被常量5代替,用于控制最小字符宽度,主要是针对,最小字符宽度未知的情况,当然*可以对应整型变量

关于%*.*s

小数点.后“*”表示输出位数,具体的数据来自参数表
printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个“*”代替那个常量,然后在后面提供变量给“*”。

同样,小数点.前也可以添加*,也要用户输入一个位宽值来代替,表示输出的字符所占位宽

也就是说,前面定义输出总宽度,后面定义输出字符个数。

#include <cstdio>
#include <iostream>
using namespace std;
int main()
{char *s = "this is test example";int a,b;printf("%.*s\n", 10, s);//这里的常量10就是给*号的,你也可以用一个变量来控制宽度printf("%*.*s\n", 20, 10, s);//常量20控制输出所占位宽,也可以用一个变量控制cin>>a>>b; //输入15 10printf("%*.*s\n", a, b, s);//输出为:-----this is te  前面定义输出总宽度,后面定义输出字符个数cin.get();cin.ignore();//暂停程序执行
}

输出结果为:

this is te

----------this is te//-代表空格

15  10 //输入

-----this is te

C语言中%*s,%*c (还有%*.*s)相关推荐

  1. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  2. c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题

    代码 总结下c语言中字符串数组的地址存放问题 #include <iostream> using namespace std; #include<bits/stdc++.h>i ...

  3. 单片机c语言中的循环语句,单片机c语言教程:C51循环语句

    循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...

  4. python调用什么函数实现对文件内容的读取_如何使用python语言中的方法对文件进行读写操作...

    在我们使用python语言中的文件时,可以使用open()方法打开文件,close()方法关闭文件,read()方法读取文件内容,write()方法写入内容到文件中.下面利用几个实例说明文件读写方法, ...

  5. 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节

    C语言中宏定义使用的小细节 #pragma#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#p ...

  6. C语言中的指针和内存泄漏

    对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏惧,但 ...

  7. C语言中连续调用rand函数,返回值不变

    C语言中连续调用rand函数,返回值不变 最近用C语言随机函数编程发现了一个奇怪的现象: 简易版代码: #include<stdio.h> #include<stdlib.h> ...

  8. (mfc)将字符串中的字符逐个按行输出_C语言中字符串输入输出

    在C语言中没有字符串类型,用字符数组处理字符串 定义 字符数组定义:char 数组名 [常量表达式][常量表达式] 一维字符数组,用于存储和处理一个字符串 . 二维字符数组,用于同时存储和处理多个字符 ...

  9. c语言中的普通字符包括什么,【判断题】C语言中的字符常量通常有两种形式:普通字符和转义字符。...

    [判断题]C语言中的字符常量通常有两种形式:普通字符和转义字符. 更多相关问题 ---Can you speak French?---Yes, but only____.A.a littleB.lit ...

  10. 关于C语言中 字符串常量的问题

    昨天晚上我编写了一段简短的C语言程序(Linux环境下),编译能够通过,但是运行的时候老是报段错误.我当时非常郁闷,因为代码不长.其中主函数中有这样一句话: char *str="epmzm ...

最新文章

  1. 【Java学习笔记之五】java数组详解
  2. 《Adobe Photoshop CS5中文版经典教程(全彩版)》—第2课2.8节使用仿制图章工具修复特定区域...
  3. 高通平台device tree生成platform device的过程(MSM8909)
  4. 使用nat技术实现tcp负载均衡
  5. (转)java类初始化顺序 - jackyrong的世界 - 博客园
  6. Actor模型(分布式编程)
  7. poj2991(Crane)线段树+计算几何
  8. 计算机配件投标书范本,2021年计算机投标书格式范本.doc
  9. javascript自定义alert弹窗
  10. 多年录制游戏的心得分享
  11. 所有计算机都可以安装win7,t570都可以装win7系统吗_win7 64位系统所有电脑都能装吗...
  12. 阵列卡在服务器什么位置,阵列卡是什么
  13. 网站被攻击的常见形式
  14. 情人节礼物------用她的照片和我们的聊天记录生成词云~
  15. RAC环境备份归档日志和RMAN恢复启动数据库
  16. android立体3D效果_3D立体画手绘墙体彩绘
  17. 【JS基础】JavaScript中的void 0
  18. H5项目常见问题汇总及解决方案 1
  19. 空间曲线的切线,法面,密切面,主法线,副法线,从切面,活动标架
  20. linux自解压执行程序,如何在Linux中使用shar创建自解压文件

热门文章

  1. 确定电气间隙和爬电距离
  2. 汽车门阈值防抱死系统abs
  3. 瑞泰口腔黄远亮院长应邀出席第十二次全国口腔种植学术大会
  4. pwn基本ROP——ret2libc
  5. 中小学创客教室建设规划
  6. IDEA中报错:java: -source 1.5 中不支持静态接口方法调用
  7. MI200e电力线通讯
  8. 网络游戏服务器之 日志系统
  9. 链家数据分析(社招),骗局???
  10. sql数据库本地服务器不显示,sql数据库本地服务器不显示