为您找到"
大家给我解释下;谢谢!!! char *s;scanf("%s",s); 是哪里出错,
"相关结果约100,000,000个
&是取地址,scanf读取变量的时候,参数需要的是变量的实际内存地址,了解C语言指针的概念后就会明白,地址就是指针,指向变量的数据内容。不过一般%s是不会用&取地址的,因为字符串类型本身就是指针,不需要再进一步取地址。
因为s是指针,所以s才是地址,*s是指向的char类型内容 所以要用scanf("%s",s);不过在用之前先要给s初始化,让其合法,例如让s指向一个字符串数组,不然s是个空指针。
scanf (“%s”,name)是输入字符串到name字符数组,而scanf (“%c”,&name) 是输入字符到name字符数组的第一个元素。如果scanf (“%s”,&name) 会报错,因为scanf()函数中,“%s”代表对字符串格式化,需要提供的参数必须是字符数组,&name仅仅是name变量的第一个单元空间。如果scanf (“%c”,...
在使用scanf函数时,%*s这一格式说明符可以用来跳过一个字符串而不将其存储。它的主要用途是清除输入缓冲区中的非法输入。例如,当使用scanf("%*d %d", &i)时,如果输入为“12 34”,则12会被忽略,系统会读取并存储34。类似地,%*s可以应用于其他类型的格式说明符。例如,%*d表示跳过一个整数...
scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>。)函数 scanf() 是格式输入函数,即按用户指定的格式从键盘上把数据输入...
s 读入一个字符串,遇空格、制表符或换行符结束。表示本输入项在读入后不赋值给相应的变量。在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include <stdio.h>。函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中...
手机版 我的知道 大家帮忙看下scanf_s函数使用的问题, #include<stack>#include<stdio.h>#include<iostream>usingnamespacestd;voidLine_Edit_Fun(){stack<char>s1;charch;scanf_s("%c",&ch,1);inti=0;while(ch!=EOF){while(ch!='\n'&&s1... #include <stack> #include<stdio.h>#include<iostre...
scanf表示从标准输入设备接收数据,通常是从键盘接受输入 "%d,%d"是格式字符串,描述要接收什么样的数据,接收几个 d表示要接收一个整型数据,写两遍表示要顺序接收两个整型数据,中间逗号表示这两个整型数据中间必须用逗号分隔,scanf在键盘上读取到逗号才会算是收到第2个整数,否则会失败,如果逗号不写...
在c语言中,char a[100];定义的是一个字符数组 gets(a);scanf("%s",a);都可以从键盘直接输入字符串,与回车符结束,但gets(a) 算了字符串结束符'\0',所以实际输入的只有99个字符。而scanf("%s",a);没有。
s 带星号的都是跳过输入。以%s方式读入一个字符串,但是不赋值给任何变量。等效于 你创建一个足够大的字符数组s[1000];然后 scanf("%s",s);之后s的值不使用。s简化了这个过程 提高效率。