c语言 !n 什么意思啊

Python010

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来。

在c语言中,“/n”没有特别的意思,就是一个斜杠加字符n,总共两个字符。“\n”是转义字符,表示换行。一个字符。

"/n"没有特别的意思,就是一个长度为2的字符串,或者说,你所看到的资料上面是错的,出错了都,再或者说它让你区分\n和/n,要告诉你\n表示的不是两个字符'\'和'n',表示一个字符,就是换行回车,而/n表示的就是两个字符。

如果是第二种情况的话,说明你比较严谨,但是这种东西是没有必要考究的,知道文段内容的主旨就够了。

C语言中”\n”的意思是换行,如果在多数据的输出的同时,没有进行换行处理,那么也将变成大数据的表达方式存在。