77问答网
所有问题
scanf("%s",&s)
请问,scanf("%s",&s)和scanf("%s",s)一样吗?为什么都可以使用???
举报该问题
推荐答案 2014-12-07
如果你用字符数组定义的(如char s[10]),其实是一样的。
&s和s指的同一个地址,
如果是字符指针动态分配空间(char *s;s=malloc(10));,这是不一样的。可以加下面这句代码验证
printf("%p,%p\n",s,&s);
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/G33qYqI88WpqqqNvNvN.html
其他回答
第1个回答 2014-12-07
不同,&s表示数据s的指针,就是s的地址。而scanf("%s",s)中的s本身就是指针,就代表一个地址。
相似回答
scanf(
"
%s
"
,&s)
和 scanf("%s",s)两个都对吗?
答:
如果
s
是字符数组名,后一种对,前一种错 如果s是字符变量名,前一种对,后一种错
用
scanf(
"
%s
"
,s)
读入字符串时会把\n作为字符串内容吗? 用get
s(
)呢...
答:
不会。
scanf(
"
%s
"
,s)
把\n作为空白,当分隔符处理,不作为字符串内容。get
s(
) 读入一行,丢弃\n, 不把\n 不作为 字符串内容。fgets ( s, len, stdin); 从标准输入stdin读入一行,把\n 作为 字符串内容!
我想用
scanf(
"
%s
" , 's'
);
输入一个字符s 可以吗??
答:
可以,这种写法是错误的。例如:定义一个字符数组,char a[100]
;scanf(
"
%s
",&a);也可以用gets(a);//表示把从键盘输入一个字符串赋值给字符串数组a 直接键盘输入‘s’,回车就可以了;这样字符‘s'就储存在字符数组a中了;//参考代码如下:include int main(){ int i=0;char a[200];gets(...
while(
scanf(
"
%s
"
,s)
==1)什么意思
答:
scanf()函数返回的是此函数读取到的参数个数。所以,当scanf("
%s
"
,s)
正常读取到一个字符串时(不论串的长短如何)
,scanf(
)函数的值总是1。只有当它没有读到时(比如,遇到了文件结束、遇到了^Z),就返回读到的参数个数0。while(scanf("%s",s)==1)就是说当未读到结束时就循环。键盘上以...
scanf
函数中&是什么意思?
答:
scanf
中的&是取地址符
scanf(
"%c",&c)和scanf("%d",&i)和scanf("
%s
"
,&s)
有什么区别
答:
scanf(
"%c",&c)用于读取一个字符,scanf("%d",&i)用于读取一个整数,遇到非数字字符就结束读取。scanf("
%s
"
,&s)
读取一个字符串,会跳过前导的空格或tab,遇到空格、tab或空格即结束读取。用%c只能获取一个字符。如果我输入123空格456空格789回车,按照上面的顺序,c的值为'1'i的值为23 s的...
char s[5]
;scanf(
"
%s
"
,&s);
对吗?
答:
不对
,scanf
后面的括号中,参数列表如果是变量的话,才用取地址符,但是如果是字符串形式,其数组名就表示首字符的地址,因此直接用数组名就可以,不用取地址符。
大家正在搜
scanf(%s)
c语言scanf_s用法
c语言switch case语句
scanf_s详解
scanf_s输入多个字符串
c语言中的scanf
scanf_s输入数字
用scanf给字符串赋值
数组用scanf输入
相关问题
scanf("%s",&s) 和 scanf("%s",s)...
C编程中 scanf("%s",&s)是什么意思
我想用scanf( " %s" , 's');输入一个字符s...
scanf("%s",s[1]);
为什么c语言中char*s;scanf("%s",s)是错的...
while(scanf("%s",s)==1)什么意思
C语言的中gets(s)和scanf("%s",s)的区别
while(~scanf("%s",s)){} 请用国语翻译...