用scanf给指针赋值
scanf在c语言中的作用
d。前两个scanf:输入一个整数,按下回车键,scanf会读取键盘输入,并把数据赋值给c(或d);后两个scanf:都是一样功能,输入格式不同,对于scanf(),输入数据的格式要和控制字符串的格式保持一致。比如:输入15 24回车,输入15,24回车,同样的把值分别赋给c和d。
结构体类型的指针引用成员变量,给成员变量用scanf怎么赋值?
\/\/给它分配一个 graph 大小的空间\\x0d\\x0ascanf("%d %d",&(ga->x[i]),&(ga->y[i]));\\x0d\\x0aprintf("%d %d\\n",ga->x[i],ga->y[i]);\\x0d\\x0a}\\x0d\\x0a\\x0d\\x0a没有错误,那 是警告,local variable 'ga' used without having been initialized 是说你没有...
scanf (“%s”,name)与scanf (“%c”,&name) 有什么分别。
(“%s”,name)——从键盘接收一个字符串,存储到以name为首地址的数组中;scanf (“%c”,&name)——从键盘接收一个字符,赋给变量name;如果name是数组名,则将其低字节赋以从键盘输入的字符的ASCII码。由于逻辑错误,常常导致安全问题。scanf (“%c”,name)——从键盘接收一个字符,赋给指针...
请问如何用scanf输入指针数组的值,
你是想输入文字吧?指针地址都是由操作系统分配的,不可以自己随意制定。先用malloc函数分配一个足够大的内存空间,然后用scanf函数输入内容,不用这些空间后最好用free函数释放。部分代码 include <stdlib.h> \/* 使用malloc和free函数需要这个头文件 *\/ char *a[3];a[0]=(char *)malloc(100); \/...
请问在c语言中如何通过输入字符串为字符指针数组赋值?
若是指向字符数组的指针,则很简单,使用scanf("%s", str);函数获取输入的字符串,然后使用字符串拷贝函数strcpy(stc, dest);将获取的字符串拷贝到指定地址的字符指针数组中,拷贝过程中注意检查访问数组是否越界,若越界,则需要在字符数组的最后一个元素赋值为结束符'\\0'。若是赋值 字符指针数组,...
...不能用scanf()函数输入字符串后赋给字符型指针变量?具体请看下面...
char *pc; 只是声明了指针,这个指针没有赋值 也就是它指向的地址还不确定 pc没有初始化 改成 char place[256];char *pc=place;
初学c语言 给指针赋值的一个小问题?
直接上图 1>d:\\ctest\\c3\\c3.cpp(15): warning C4477: “scanf”: 格式字符串“%f”需要类型“float *”的参数,但可变参数 1 拥有了类型“double *”1>d:\\ctest\\c3\\c3.cpp(15): note: 请考虑在格式字符串中使用“%lf”1>d:\\ctest\\c3\\c3.cpp(15): warning C4477: “scanf”: ...
scanf函数怎么使用?
我们用printf("c=%d\\n",c);将C用int表示出来,启用printf("c=%d\\n",c);这一句,看看scanf()函数赋给C到底是什么,结果是c=10 ,ASCII值为10是什么?换行即\\n.对了,我们每击打一下"Enter"键,向键盘缓冲区发去一个“回车”(\\r),一个“换行"(\\n),在这里\\r被scanf()函数处理掉了(姑且这么认为吧^_...
C语言 指针与scanf
然后题中,p是一个指向long类型的指针,a是一个long类型变量。先看A,*p是一个long类型变量,&a是地址,不能把地址赋给变量,A错。再看B,malloc分配了一个8字节的空间,然后转换成指向long类型的指针,然后让p指向这块内存,然后p很显然是一个地址,scanf里传的就是地址,所以B对。再看C,p=&...
...scanf("%d",p);",a前面要“&”而对于指针p却不要&,为什么额?_百...
指针本身就是个地址,所以它不用加取地址符号& ,普通的变量,加&表示取地址,就是给它分配一个地址。
新青区可溶回答: 一楼完全正确 也可这样 更简洁#include<stdio.h> void main() { 告诉你个书上都不写的 int a,*p=&a; 针地址的 scanf("%d",p); c不给指针变量内存 printf("%d\n",a); }
琴钥13620346440问: c语言中 能否用scanf给指针型变量赋值 - ?
新青区可溶回答: 此所谓野指针当然不可以
琴钥13620346440问: c语言中能用for和scanf来给指针数组赋值字符串吗? - ?
新青区可溶回答: 当然可以了,比如下面的程序: #include<stdio.h> #define N 10 main() { char s[20]; char *p=s; int i; printf("Input 10 characters:\n"); for(i=0;i<N;i++) scanf("%c",p+i); for(i=0;i<N;i++) printf("%c",*(p+i)); //system("pause"); } 希望对你有一点帮助.
琴钥13620346440问: 结构体类型的指针引用成员变量,给成员变量用scanf怎么赋值? - ?
新青区可溶回答: 实际上,用scanf对通过指针引用的结构体变量赋值与常规的scanf用法没有差异.举例如下:#include <stdio.h>/* 声明结构体 myStruct */ struct myStruct { int x; char s[100]; }; void main() { myStruct ms; /*结构体指针*/ myStruct *p = &ms; /** * scanf...
琴钥13620346440问: 请问如何用scanf输入指针数组的值, - ?
新青区可溶回答: 你是想输入文字吧?指针地址都是由操作系统分配的,不可以自己随意制定.先用malloc函数分配一个足够大的内存空间,然后用scanf函数输入内容,不用这些空间后最好用free函数释放.部分代码#include <stdlib.h> /* 使用malloc和free函数需要这个头文件 */ char *a[3]; a[0]=(char *)malloc(100); /* 算上结尾的\0,不超过100个字符 */ scanf("%s", a[0]); free(a[0]); /* 使用解释后释放 */ C语言教材讲指针的部分有讲解.
琴钥13620346440问: C语言中,用scanf赋值的时候 - ?
新青区可溶回答: 办法很多.在输入字符的语句前面加一句getchar();或fflush(stdin)等等,但最简单的办法是在scanf()函数中的字符控制符前加一个空格!如scanf(" %c",&ch);或scanf("%d %c%s",&n,&ch,&str);.效果嘛,你试试!
琴钥13620346440问: c语言字符串指针为什么不能用scanf赋值 - ?
新青区可溶回答: 给字符串指针赋值 你要事先给指针分配空间才行.指针只是个地址,你要往指针所在的地址里存放内容,就必须给指针分配空间.如果你事先分配好了空间 ,scanf是可以给字符串指针赋值的.
琴钥13620346440问: C语言中怎么给一个结构体用scanf进行赋值? - ?
新青区可溶回答: 结构体数组指针作为函数参数,通过数组的首地址与偏移量对结构体数组进行scanf的赋值,在函数中通过指针间接访问到其指向的内存. 举例:编写函数,输入5个学号(int),5个姓名(字符串),5个成绩数组(每组三个成绩)(int[3]),依...
琴钥13620346440问: 怎样向指针变量所指向的变量赋值. - ?
新青区可溶回答: 可以直接通过对指针赋值指向的变量赋值.#include<iostream.h> void main() {int a; int *p; p=&a; *p=3; cout<<a<<endl; } a是p指向的变量,*p=3;//指针p指向的值为3,a的值也变为3
琴钥13620346440问: 请问指针数组可以用循环来赋值吗?用scanf(“%s”,s[i]);这样可以吗?怎样可以随时给指针数组赋值 - ?
新青区可溶回答: 楼上的回答是错误的,你的那样就可以了,因为它本身就是指针,还取什么地址呢,但有个问题,你必须对应的给它开辟一个空间才可以,比如,char a[5];s[0] = a才可以,否则还是不行