c语言中的%n怎么用,可以用在printf中吗
c语言中的%n怎么用,可以用在printf中吗 楼主的线索是什么?C 语言格式化字符串输出函数 printf() 的所有预设格式中根本就没有这个 %n %n是输入格式化控制字符,用在scanf或类似的sscanf、fscanf等函数中,意思是把刚刚接收的数据的“字符个数”赋给对应的变量。下面代码可帮助理解:#include "stdio.h"
int main(int argc,char *argv[]){
char a;
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;
}
https://gss0.baidu.com/-fo3dSag_xI4khGko9WTAnF6hhy/zhidao/wh%3D600%2C800/sign=e1dbb86f0046f21fc9615655c6144758/cefc1e178a82b9017c8135a7798da9773912ef72.jpg
忘采纳 这是个坑, 在windows下gcc编译器是无效的, 要在linux系统才有用, 别问我为什么知道~~~~(>_<)~~~~
页:
[1]