你问的那个c语言的问题,能给我讲讲吗

作者&投稿:井盛 (若有异议请与网页底部的电邮联系)
亲 问你一个c语言的问题 亲能说具体点吗~

太简单了。 送你一点福利吧。

循环输入
struct student{char name[8],int year,float height}Student;
int i = 0;
Student pup[10]={{NULL,0,0}};
for(i = 0;i<10;i++){
printf("please input the NAME,YEAR,and HEIGHT
");
scanf("%s",pup[i]->name);
scanf("%d",pup[i]->year);
scanf("%f",pup[i]->height);
}
循环打印
for(i=0;i<10;i++){
printf("the information of the student as follows
");
printf("%s",pup[i]->name);
printf("%d",pup[i]->year);
printf("%f",pup[i]->height);
}
学长只能帮你到这了。拂袖一走。深藏功与名

帮我讲解一下?谢谢了
45 分钟前 提问者悬赏:30分 | 连接网络中…… | 分类:C/C++ | 浏览30次
struct student *messagechange(struct student *head) /*修改信息*/{struct student *p;char name[20]; p=(struct student *)malloc(LEN); /*开辟新节点*/p=head;printf("请输入姓名
");scanf("%s",name); /*输入你想要修改的信息*/while(p!=NULL&&strcmp(p->name,name)!=0) p=p->next; printf("请输入编号
");scanf("%s",&p->num);printf("请输入姓名
");scanf("%s",&p->name);printf("请输入年龄
");scanf("%s",&p->age);printf("请输入电话号码
");scanf("%s",&p->tel);printf("请输入通讯地址
");scanf("%s",&p->adress);printf("请输入电子邮箱
");scanf("%s",&p->email); return(head);}
我有更好的答案
加粗
飘红
符号
编号
排版
图片
附件
地图
代码语言

提交回答匿名
分享到:

按默认排序 | 按时间排序
2条回答
31 分钟前浣月_楼主 | 四级
需要讲什么,我来
追问
这个问题是用链表修改一个函数为什么while循环执行完毕就直接输入要修改的内容了?
评论 | 0 0
43 分钟前阿尔萨斯1999 | 三级 最快回答
你的问题是啥??
评论 | 0 0

恭顺的hf 二级
签到补签卡
日历
我的升级进度
经验值
221 / 400
采纳数
2 / 5
采纳率
50% / 10%
我的特权












获取特权方法:
去商城兑换特权卡或 满足优质答案数要求
进入个人中心

帮助 | 意见反馈 | 投诉举报 | 知道协议 | 加入我们
©2014 Baidu 使用百度前必读 | 百度知道开放平台

2个回答被采纳1个新通知


连接网络中……
五级采纳率:38%采纳数:38
求助知友

楼上回答是错的,不是因为float类型小数点后两位有效,而是因为float类型有效位为6位,它只能保证6位数字是准确的,在6位有效数字以后的数都是没有意义的,不信你可以试试1000/3.0或者100/3.0,会发现小数点后精确的位数更多了。其实这根本跟小数点后的位数没有关系,只是因为float取6个有效位罢了。

哪个问题?上代码


问一个c语言的问题
int a[3][4];\/\/二维数组,存储int型的数值,编译器为这个二维数组分配了3*4个sizeof(int)的连续空间 (2)int* b[4];\/\/一维数组,存储int*型的数值,也就是人们常说的指针数组,该数组用来存储int型数据的地址,编译器为该一维数组分配了4个sizeof(int *)的空间 例如:int a,b,c,d;b[...

问几个C语言的问题
pf是一个指针,*pf代表它所指向变量的值。假设有int a=10;int *pf=&a;则pf==&a(变量a的地址,一般是0x打头的十六进制数),*pf==a(变量a的值,这里是10)。while(*pf)相当于while(*pf!=0),因为后者需要先计算*pf的值,然后再计算*pf!=0的值,和前者相比运行效率就差了一些,所以可以...

问关于c语言的问题???谢谢!
char ch[5]="abcd";\/\/这样可以 C语言中的数组就相当于指针,char ch[5];就是向内存申请了5个char的空间,而ch指向这5个char空间的首地址,所以ch="abcd"这样赋值就有问题了,因为ch只是指向一个char的地址,而"abcd"需要5个char(包括结束符),并且"abcd"是const char*类型,只能在申明的时...

问几个C语言的问题
1 int *p=NULL 和 int *p=0 有些人说是一样的 我不明白啊 我绝对不一样 前者是让这个指针暂时指向内存的首地址(无有效数据) 后者是让内存指向一个0占有的内存(可能是0X...的内存单元) 应该不一样吧?答:一样的.一般头文件里会有宏定义 define NULL 0 这样的话,你明白了吧.每个程序头...

问个关于地址 的c语言 问题
int *a = new a[10];也可以实现你最后的要求,你最后的提问是正确的。malloc一个数值,就是那么多个int型的空间被分给你用了,和数组一样。唯一的区别是,数组如,int a[10];你不需要释放空间,但是如果你用malloc或者new,那么就要注意最后free,或者delete一下他们了,要不然会内存泄露的 ...

问一个关于C语言的问题。
int get_int(void){ int input;char ch;while(scanf("%d",&input)!=1){ while((ch=getchar())!='\\n')putchar(ch);printf("这不是一个整数\\n");printf("请重新输入一个整数:");} return input;} void main(){ int output;output=get_int();printf("%d\\n",output);} 输入5,...

问几个关于C语言的问题
第一个加*说明它返回的是一个Seqstack *类型,就是指向Seqstack的指针,Init_Seqstack内大概是用了动态内存分配,分配了内存并返回指向他的指针 第二个for的意思就是初始化q为p->next,每次循环令 q= q->next,每次的判断条件是q是否为真。q是一个指针,单链表结尾节点的next是NULL,也就是0,当q...

问个简单的C语言问题,关于指针的
p[3] = 0x03;给p地址的下三个地址 0x03赋值为0x03 } 其实一般呢,直接p指向0x00在linux下是NULL指针,这时候P[0]操作是非法的的,无法访问,导致段错误 另外,指针类型直接用[]访问,会有警告的。一般是通过malloc在堆中分配一片连续地址,然后通过*(p+1)这样的形式给该地址赋值 ...

·初学者问一个C语言的问题。
可以通过以下的C程序验证之:include<stdio.h> printfFloatBit(float f) \/*功能:从高位到低位依次输出f的32个二进制位*\/ { int i,j;unsigned int byte=0;char ch,*p;p=(char *)(&f); \/*将f的地址以char形式赋予p*\/ printf("%20.7f: ",f);for(i=sizeof(float)-1;i>=0;i--)...

问一个C语言的问题
在c语言里是可以改成.c的,但是采用,一个头文件一个定义文件比较好。意思就是:多余部分,忽视覆盖过程.大哥,你这么折腾,我们都要废了。不能超过20的原因可能是你的FIFO转存器的大小就这么大。超过就溢出了呗 FIFO就是转存器,其实就是存储器,用来缓冲数据的。如果不是溢出问题,那就真不可能...

盐田区13264839779: 您好 刚才那个关于C语言的提问 可不可以把具体的解答过程告诉我一下 谢谢 -
殷陈盐酸: main() { char str[ ]="xyz",*ps=str; //str表示一个字符数组,即字符串.ps指针指向str数组的起始位置,*ps相当于str[0],即x.while(*ps) ps++; //*ps就相当于一个数组中的一个具体元素.即一个char类型.如果*ps!=0,就执行ps++,在C语言里,...

盐田区13264839779: c语言概念性问题,弱弱的请问高人给讲讲... -
殷陈盐酸: 这是个比较清晰的小程序,程序第一段代码main函数做的工作是创建一个列表.第二段main函数做得工作是寻在指定节点,并打印找到的值.下面我们来一个个回到提问.1、为什么函...

盐田区13264839779: 在吗?我有个C语言的问题!
殷陈盐酸: 首先呢,在C或C++里面,/(除号)的用法有点小技艺的, 整数/整数=整数 如5/2=2 (本应是2.5,取整后为2) 整数/小数或小数/整数或小数/小数都=小数 如,5.0/2=5/2.0=5.0/2.0=2.5 再者就是先前的问题, int i=3; -i++;问题,这也算不上是优...

盐田区13264839779: C语言的问题 -
殷陈盐酸: 第一个是将整数以对应的字符输出,根据ASCII.输出正常,并没有涉及到内存够不够的问题.但第...

盐田区13264839779: 一个简单C语言的问题!
殷陈盐酸: 要看p是什么类型的指针,如果p的类型是指向指针的指针,那当然可以把地址赋给*p. 比如下面这段代码: int **p; int *q; int a=10; p=&q; *p=&a; printf("cont=%d\n",**p); 得到结果为:cont=10 这样看的懂了吗? 另外补充说明一下,p在刚定...

盐田区13264839779: 初学C语言问题求解... -
殷陈盐酸: c语言中有位操作,但没有位类型,假设有位类型,我们取名叫bit,那么bit这种类型的长度就是1,那么你说1位能表示多少个数呢?如果你是初学者可能会说10个数:0~9,但是计算机是使用二进制计数的,也就是说计算机只认识0和1,所以,...

盐田区13264839779: 关于C语言的一个很简单问题!
殷陈盐酸: 这个要先说说数据在内存中的储存方式,在计算机内存中,负数都是以二进制补码形式表示和存放的.这样, 一方面可以将减法运算变为加法运算来处理,另一方面又可以对0这个数形成统一的表示(否则会出现+0和-0). 具体规则是:在保持符号位不变的情况下,将负数的原码中的0变成1,1变成0,得到的是负数的反码.负数的补码就是,在保持符号位不变的情况下,先求得其反码,然后再将其结果加1. 正数的反码,补码与其原码矢相同的. 举个例子吧:(第一位为符号位) -1的原码: 1 000000000000001 -1的反码: 1 111111111111110 -1的补码: 1 111111111111111

盐田区13264839779: 有个C 语言的问题想问大家?
殷陈盐酸: 对不起,时间有限,我没有实际运行过.不过思路还是可以给你说一说: 这个题目主要考察你对一些赋值表达式的理解,我们一步一步说, 首先应该先计算(a=b),这个语句我们都知道是个赋值语句,执行把b的值赋值给a,但在这里,这一...

盐田区13264839779: 有个C语言的问题想问大家 -
殷陈盐酸: 括号...我用程序注释的形式给你解释 main() //主函数名后有一个空括号,其中无参数,但括号不可少 { int n=0; char c; while((c=getchar())!='2') /*while()循环语句,表示当括号内的语句逻辑判断为真时,执行 c=getchar()表示 输入的一个值...

盐田区13264839779: 有几个C语言的编程问题想请教下大家,谢谢帮忙!
殷陈盐酸: #include "stdio.h" void main() { char ch; printf ("please input char:\n"); ch=getchar();/*输入一个字符*/ if (ch>='A'&&ch<='Z') /*进行判断是不是大写*/printf ("%c",ch+32);elseprintf ("非法字符");} turboC编译 给你做个参考吧!自己做自己思考才有进步... 祝你生活愉快

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