鱼C论坛

 找回密码
 立即注册
查看: 3558|回复: 3

c语言中的%n怎么用,可以用在printf中吗

[复制链接]
发表于 2019-3-6 15:17:07 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
c语言中的%n怎么用,可以用在printf中吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-6 15:28:40 | 显示全部楼层
    楼主的线索是什么?C 语言格式化字符串输出函数 printf() 的所有预设格式中根本就没有这个 %n
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-6 15:50:44 | 显示全部楼层
%n是输入格式化控制字符,用在scanf或类似的sscanf、fscanf等函数中,意思是把刚刚接收的数据的“字符个数”赋给对应的变量。下面代码可帮助理解:
#include "stdio.h"
int main(int argc,char *argv[]){
    char a[20];
    int x,t;
    double y;
    scanf("%s%n",a,&t);//把接收的字符个数赋给t
    printf("%s-->You have just entered %d character(s).\n",a,t);
    scanf("%d%n",&x,&t);//把接收整型数的字符个数赋给t
    printf("%d-->You have just entered %d character(s).\n",x,t);
    scanf("%lf%n",&y,&t);//把接收浮点数的字符个数赋给t
    printf("%g-->You have just entered %d character(s).\n",y,t);
    return 0;
}

                               
登录/注册后可看大图


忘采纳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-6 19:55:50 | 显示全部楼层
这是个坑, 在windows下gcc编译器是无效的, 要在linux系统才有用, 别问我为什么知道~~~~(>_<)~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-3 10:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表