关于scanf里将得到的字符串赋给指针的地址?

作者&投稿:超冠 (若有异议请与网页底部的电邮联系)
~ char *p;实际上是一个指针变量,而此时的指针p为空指针,如果你想要开辟一段内存空间存放数据,可以这样:char p[20]={0}; scanf("%s",p); printf("%s",p);

NULL是C语言中预定义空指针的关键字,不是表示字符串。而且用指针指向字符串的时候,字符串要用英文的双引号引起来,如: char *p = "Hello World!";


为什么scanf函输入得不到正确的结果。比如:scanf("%f%f",&a,&b);只...
要看你是如何输入的了...在其中加入空格scanf("%f %f",&a,&b);输入3 4(注意输入时当中加上空格)就可以了~楼主得不到b的值,可能是你输入方面的格式问题.还有种方法就是在其中加入逗号,scanf("%f ,%f",&a,&b);输入3,4(当中需要加逗号,是按scanf的格式)这样也可以了~...

为什么scanf那一行语句加了\\n得输入两次字符才能输出,去掉\\n就正常了...
scanf()函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。其调用格式为: scanf("<格式化字符串>",<地址表>);解释原因:scanf在每次回车之后从缓冲区中读取用户输入的字符,且当缓冲区非空时,输入回车之后才会自动结束。当按照scanf("%c\\n", &m)这种形式书写时,相当于你输入结...

为什么scanf("%7.2f",& a);是合法的?
语句scanf("7.2f", &a)是合法的,而且是有实际意义的。它的作用是一个字符一个字符地匹配,将缓冲区里的'7'、'.'、'2'、'f'依次读出来。语句scanf("%7.2f", &a)也是合法的,而且也是有实际意义的。其中"%7.2f"相当于".2f",它的作用是一个字符一个字符地匹配,将缓冲区里的'.'、...

scanf函数里的&是什么意思?
int scanf(const char *format, ...);scanf() 函数会根据 format 参数中的格式字符串,将从标准输入设备中读取的数据转换为相应的数据类型。下面是一些常用的格式控制字符串:d:整数(十进制)。f:浮点数。c:字符。s:字符串。p:指针。x:整数(十六进制)。scanf() 函数的返回值是成功读取的...

有语句scanf(“%d,%d”,&a,&b),要使变量a、b分别得487、225,则正确的...
如果遇到了一个非数字的字符,它就得出结论:已经到了整数的尾部。scanf()把这个非数字字符放回输入。这就意味着当程序下一次开始读取输入时,它将从前面被放弃的那个非数字字符开始。最后,scanf() 计算它读取到的数字的相应数值,并将该值放到指定的变量中。如果使用了字段宽度,那么scanf() 在字段...

scanf_s输入整数和小数,我分开输入可以得到结果,放在一个scanf_s里,小...
scanf对输入格式有严格的要求,必须和参数一样,如果碰到错误输入,就结束返回,后面的参数没办法接收输入,你已经用逗号隔开了,输入的时候就不要在2和3.14之间加空格键了

定义一个数组a[5],给数组录入数据scanf,录入后找到数组中最大的值...
int main() { int a[5], i, max;\/\/ 读入数据 printf("请输入5个整数:\\n");for (i = 0; i < 5; i++) { scanf("%d", &a[i]);} \/\/ 找到最大值 max = a[0];for (i = 1; i < 5; i++) { if (a[i] > max) { max = a[i];} } printf("数组中最大的...

C语言中用scanf和循环语句是怎么给数组一一赋值的,希望说得详细点
include <stdio.h>int main(void){ int name[10];int n;for (int i=0;i<10;i++){ scanf("%d",&n);\/\/输入函数,后边的&n是说存入n的所在的地址 name[i] = n;\/\/再把输入数据给数组 } for (i=0;i<10;i++){ printf("%d\\n",name[i]);} return 0;} ...

if(scanf("% d",& a)==1)?
在 C 语言中,`scanf` 函数用于从标准输入读取格式化的输入。它的返回值是成功读取的输入项的数量。在您提供的代码片段中:```c if(scanf("%d", &a) == 1)```这条语句的作用是尝试从标准输入读取一个整数,并将其存储在变量 `a` 的位置。`scanf` 的返回值为 1 表示成功地读取了一个整数...

有定义语句:int x, y;要通过scanf("%d,%d",&x,&y);语句使变量x得到数 ...
A scanf 括号中的除接入的数值外 其余的都要原样输入 所以,一定要输入 A就没有输入, 错了

信丰县19493277393: C语言中用scanf和循环语句是怎么给字符串赋值,然后用printf输出该字符串?求个例子(O__
汉蓓金诺: int i;int a[10] = {0}; for(i = 0; i { scanf("%d", &a[i]); } for(i = 0; i { printf("%d",a[i]); } 这是输入数字的,要输入字母的话,可以把a[10]定义为char型

信丰县19493277393: C语言中,用scanf赋值的时候 -
汉蓓金诺: 办法很多.在输入字符的语句前面加一句getchar();或fflush(stdin)等等,但最简单的办法是在scanf()函数中的字符控制符前加一个空格!如scanf(" %c",&ch);或scanf("%d %c%s",&n,&ch,&str);.效果嘛,你试试!

信丰县19493277393: C语言字符串转换为单个字符并赋值给一字符shu zu -
汉蓓金诺: c里面没有严格意义上的的字符串,c中的字符串其实就是'\0'结尾的字符数组.假定你的字符串为str,字符数组位chr(),字符数组的长度>=字符串长度-1.i=0; while(str!='\0') { chr[i]=str[i]; i++; } 当然也可以直接输入,用sanf(%s,&str);或者用gets(),fgets()函数也可以,推荐用fgets()

信丰县19493277393: C语言中scanf如果像一个%d的整型变量赋值一个字符或字符串有什么后果 -
汉蓓金诺: 因为你指定了%d来读取一个整数,scanf()函数开始每次读取一个输入字符,它跳过空白字符(包含空格、制表符和换行符)直到遇到一个非空白字符,并期望发现一个数字字符或者一个符号(+或者-).如果发现一个数字或符号,那么就保存并读取下一个字符;如果接下来的字符是一个数字,再保存,继续读取.如此持续直到遇到一个非数字字符,此时函数认为:已经读到了整数的末尾.scanf会将这个非数字字符放回输入缓冲区.这意味着:下一次程序开始读取输入时,仍将从这个非数字字符开始.如果你使用多个%d读取整数,但是你不小心在中间输入了非数字字符,那么除了非数字字符之前对应的变量外,后面的变量将不会被赋值.

信丰县19493277393: C语言中,不能用scanf()函数输入字符串后赋给字符型指针变量?具体请看下面代码中的注释.谢谢! -
汉蓓金诺: char *pc; 只是声明了指针,这个指针没有赋值 也就是它指向的地址还不确定 pc没有初始化改成 char place[256]; char *pc=place;

信丰县19493277393: C语言中怎样把输入的字符串赋给数组 -
汉蓓金诺: //基本实现你要的功能,用到了内存的动态开辟#include <stdio.h> #include <stdlib.h> void main() {char** pArrStr;//用来保存字符串数组int strLen;//用来保存字符串长度int i; printf("请输入字符数组的个数:");scanf("%d",&strLen);...

信丰县19493277393: c语言:一个字符数组给另一个字符数组赋值 -
汉蓓金诺: 如果不要原来的内容,直接scanf("%s",a); 如果想把后面的输入放到原来内容后面,即接到abc后面,那么还要个中间数组b[]暂时存放输入的内容,先把新的输入放到数组b[]里面:scnaf("%s",b);然后再接到a[]原来内容的后面:strcat(a,b);不要忘了#include <string.h>

信丰县19493277393: C语言的 scanf("%d",&x) 是什么意思? -
汉蓓金诺: 从标准输入设备中(一般只键盘)获得一个整数,并赋值给x scanf是从标准输入流stdio (标准输入设备,一般是键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中,被定义在头文件stdio.h里.其传递的一般为变量的地址. &即为取地址符号, &x表示取x变量的地址. 转换格式说明字符(就是%后跟的部分)说明如下: c 读单字符 d 读十进制整数 e 读浮点数 E 读浮点数 f 读浮点数 o 读八进制数 s 读字符串 x 读十六进制数 X 读十六进制数 p 读指针值 u 读无符号十进制整数 % 读 % 符号(百分号)

信丰县19493277393: 怎么用C语言编程将已知的字符赋给定义好的字符串,并与另一字符串比较呢 -
汉蓓金诺: char str[3] = {'1','1','1'};char str1[3];scanf("%c \n %c \n %c",&str1[0],&str1[1],&str1[2]);if(str[0]==str1[0]&str[1]==str1[1]&str[2]==str1[2]){printf("yes");}else{printf("no");}getch();

信丰县19493277393: C语言中怎么给一个结构体用scanf进行赋值? -
汉蓓金诺: 结构体数组指针作为函数参数,通过数组的首地址与偏移量对结构体数组进行scanf的赋值,在函数中通过指针间接访问到其指向的内存. 举例:编写函数,输入5个学号(int),5个姓名(字符串),5个成绩数组(每组三个成绩)(int[3]),依...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网