在c语言中,scanf("%d%*c", &n);中%d表示读整数,%*c表示忽略掉一个字符型的输入项,&n表示对象n在内存中的地址。scanf("%d%*c", &n);整体表示输入两个数,并且忽略掉第二个字符型的输入项,然后将输入的对象存入n。
在C语言的scanf函数中,格式字符串的一般形式为:%[*][输入数据宽度][长度]类型(其中有方括号[]的项为任选项)。不同的格式符类型有不同的功能。
扩展资料
C语言scanf函数的语法规则:
1、语法
#include
int scanf( const char *format, ... );
类似函数有
int scanf(const char *format, ...);
int fscanf(FILE *stream, const char *format, ...);//定输入流
int sscanf(const char *str, const char *format, ...);//指定缓存区
2、规则
scanf()函数根据由format(格式)指定的格式从stdin(标准输入)读取,并保存数据到其它参数. 它和printf()有点类似. format(格式)字符串由控制字符,空白字符和非空白字符组成. 控制字符以一个%符号开始。
参考资料来源:百度百科——scanf
是用来换行的
比如:
("1\n1")打出来是
1
1
("1 1")打出来是
1 1
假如是下面的数组,应该是
int a[2][3];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[j][k]);
当然,这样你看不到要求输入的提示,scanf("%d",&a[j][k]); 前边还应该加一条语句,变成这样:
int a[2][3];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
printf("enter a number:");
scanf("%d",&a[j][k]);
}
不是,每次只能输入一个数,因为a[i][j]只是代表的一个数组中的一个元素,也就是一个数。
\n是转义符,表示换行,这样打印出来的东西比较清晰
\n 换行
这是一个转义字符(也是一种字符)形式像\0是结束标记一样。