c语言 !n 什么意思啊

Python016

c语言 !n 什么意思啊,第1张

%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

}运行举例如下:

上图中除第一项外后面都多出了1,原因是还接收了一个回车!所以%n操作结果是“接收的字符数”而不是赋给变量的值的字符数——这在使用%n时要注意一下。在printf中的用法与上述类似,把刚刚输出的字符个数赋给对应的变量,如int

xprintf("12345%n\n",&x)printf("%d",x)会打印出12345回车和5来。

/n在c语言中是的解释是:没有意义,\n才有意义,是换行符。

/n在c语言中没有任何意思,就是符号/加上字母n,它不表示任何的意思。\n是换行符,通常在输出中用作格式控制;\n就是一个转义字符,其意义是“回车换行”。

c语言的其他转义字符:

\b——退格(BS),将当前位置移到前一列。

\f——换页(FF),将当前位置移到下页开头。

\r——回车(CR),将当前位置移到本行开头。

\t——水平制表(HT)(跳到下一个TAB位置)。