为您找到"
c语言中的scanf("%s",&a)的”“是什么意思?
"相关结果约100,000,000个
你好!对于scanf中的 (如%*s d)表示跳过这个字段(假如存在)。相对前面括号中的,则是跳过一个单词 跳过一个整形数 那么,scanf("%d%*s%d",&a,&b);就是说:读取一个整型数,放到a里;忽略中间输入的任何串(假如存在);读取另一个整型数,放到b里。仅代表个人观点,不喜勿喷,谢谢。
&n表示对象n在内存中的地址。scanf("%d%*c", &n);整体表示输入两个数,并且忽略掉第二个字符型的输入项,然后将输入的对象存入n。在C语言的scanf函数中,格式字符串的一般形式为:%[*][输入数据宽度][长度]类型(其中有方括号[]的项为任选项)。不同的格式符类型有不同的功能。
这要看这里的变量a是一个什么类型的变量。如果变量的定义是int a;那么在C语言中scanf("%d",a); 是一条错误的输入语句,应该是scanf("%d",&a); 才对。
char *s 是一个指针,scanf("%s",s); 这是给字符串变量赋值的语句,你指针没有被初始化,你运行时它会随机指向一块内存空间。建议你以后定义指针时立即初始化下,为char *s = NULL; 否则会造成野指针的现象。再声明定义个字符串 char a[100]; s = a;再用scanf("%s",s);这样就...
include<stdio.h> define N 100 float sf(float *,int);/*函数申明*/ float mf(float *,int);float max(float *,int);float min(float *,int);void main(){ float a[N];int n;int i;scanf("%d",&n);/*输入n个数*/ for(i=1;i<=n;i++)scanf("%f",a[i]);printf("和=...
①答案:C ②原因:A. char str[20]; scanf("%s", &str[2]); // 从str[2]地址处开始填入输入数据,前面0~1元素的数据不确定会导致后面不能完整用str索引 B. char str[20],*p=str; scanf("%s", p[2]); //p[2]不是地址 C. char str[20]; scanf("%s",&str...
scanf的输入不能包含空格,可以通过fgets或者getline来读取一行来处理。
scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。scanf()的格式控制串可以使用非空白字符,但在输入时必须输入这些字符。例:scanf("%d,%d",&a,&b);输入: 3,4 ↙(逗号与"%d,%d"中的逗号对应)scanf...
默认是用空格、换行、tab键来分隔 由于前面格式字符串声明要接收两个整型数据,所以在格式串后面要顺序提供两个位置(地址)存放整型输入值,a和b应当是int型变量,前面加&表示引用的不是a和b当中存放的数据,而是要将a和b的地址传送给scanf函数,scanf用这两个地址顺序存放从键盘输入得到的两个数据 ...