scanf(“%s%s”,a,b );中不用&a,&b也可以吗? 相关知识点: 试题来源: 解析 scanf(“%s%s”,a,b );中不用&a,&b也是可以的。 因为定义的字符数组名a,b本身就代表数组a和b的首地址,所以,使用 scanf(“%s%s”,a,b ); 和scanf(“%s%s”,&a,&b ); 是等价的。
scanf有安全漏洞,具体体现在以%s接受输入的数据时(%c,%d,%f之类的没什么影响),多余的数据读多了,或者没读完(易被黑客利用),在VS2005版本中微软发布了scanf_s以替代scanf,所以在功能上两者最大的区别是安全性。 scanf_s需要更多的参数(即输入数据所占的字节数),我们可以看到scanf_s("%c",&a);有明显的警告...
这行代码的意思是,使用scanf函数从标准输入中读取两个字符串,并将它们分别存储到变量a和变量b中。其中,%s表示字符串格式化输入,&a和&b表示变量a和变量b的地址。需要注意的是,由于%s会读取到字符串末尾的空格或者换行符,因此如果输入的字符串中包含空格或者换行符,scanf可能会读取到意外的字符,导...
*lang;intn;while(1){puts("Please input author and language separated by a white space"" like ...
scanf("%s",&b);是正确的输入格式;scanf("%s",a);是错误的输入格式。例:include <stdio.h> int main(void){ int a,b,c;printf("Give me the value of a,b,c seperated with whitespaces:\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);return 0...
这行代码的意思是,使用scanf函数从标准输入中读取两个字符串,并将它们分别存储到变量a和变量b中。其中,%s表示字符串格式化输入,&a和&b表示变量a和变量b的地址。需要注意的是,由于%s会读取到字符串末尾的空格或者换行符,因此如果输入的字符串中包含空格或者换行符,scanf可能会读取到意外的字符,导致程序出错。为避免...
scanf("%d, %d", &a, &b) 和 scanf("%d%d", &a, &b) 这两种输入方式的不同之处在于,第一种方式使用了逗号作为数字之间的分隔符,而第二种方式没有使用分隔符。在第一种输入方式中,用户输入的数字必须以逗号分隔,否则 scanf 函数将无法正确识别输入的数字。在第二种输入方式中,用户可以在输入数字时使用...
因此使用scanf()函数时,不需要在它们前面加上"&"操作符。所以“A.scanf("%s%s",&a,&b)”中,变量a、b多携带了“&”操作符,是错误的。而对于gets()函数的使用,其中参数为字符串变量(字符串数组名或字符串指针),所以“B.gets(a); gets(b);”是正确的用法。
1 用 scanf 输入一个字符串:#include<stdio.h>int main(){char a[20];scanf("%s",a);printf("输入的字符串是:%s\n",a);return 0;} 2 用 scanf_s 输入一个字符串:#include<stdio.h>int main(){char a[20];scanf("%s",a,20); /*a,20中的 ,20 是用来指定缓冲区大小的参数,表示最多...
1、scanf("%d%d",&a,&b)输入的两个数据用空格,TAB或者回车区分开。2、scanf("%d,%d",&a,&b) 输入的两个数据用逗号区分开。3、scanf函数功能是从外设读取数据并赋值给变量,%d代表接收一个整形数,&a代表变量a的内存地址,也就是说把读取的第一个整形数赋值给变量a。4、scanf函数称为格式...