#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位置)。