c语言帝来

保存10位同学的姓名和成绩#include<stdio.h>voidmain(){charname[10][80];inti,grade[10];for(i=0;i<10... 保存10位同学的姓名和成绩
#include <stdio.h>
void main()
{
char name[10][80];
int i,grade[10];
for(i=0;i<10;i++)
{
gets( name[i] );
scanf("%d", &grade[i]);
}

}
不懂之处:
1.开头为什么要[80]?这么多?
2.gets 和scanf不都是输入吗? 到底怎么保存的??
展开
 我来答
华秋婵月
2009-11-17 · TA获得超过1001个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:189万
展开全部
数组开到80也是以防万一吗。测试数据如果BT,过于长,开小了,岂不是会发生错误。所以要开这么多么,而且开80也不会超过内存限制,最大能开六千万呢。不必担心,你这数组才800。

gets()是从屏幕读取一个字符串,仅仅读取字符串,虽然比scanf可能会效果好一些,但是毕竟用处不大。还有getchar()也是一样,读取单字符,我们在读char时常会用到它们。
scanf用途就广了。整形,浮点型,无符号型,字符串,单字符等等都可以实现从屏幕读入的功能。要注意的一点是,只有读入字符串时,这样写:
scanf ("%s",string);变量名前面不添加地址符 & 。
风暴头脑
2009-11-17 · TA获得超过267个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:308万
展开全部
1.C语言中定义的数组是静态的,即数组的长度是编写程序时定下的,不能在程序的运行过程当中发生变化。 所以要定义长度组后长的数组以避免用户的输入溢出数组边界。

2.gets()和scanf()函数有很大的不同啊

(1)gets()的功能单一,只能用于输入字符串
scanf()不仅能用于字符串的输入,还能处理字
符、数字以及字符串。
(2)另一个重要的不同就是scanf()用%s输入的字符
串中不能包含空格(scanf()遇到空格就结束读
取),而gets就不同了,它允许用户的输入中
含有空格。

希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宫廷泥巴
2009-11-17
知道答主
回答量:53
采纳率:0%
帮助的人:29万
展开全部
名字长啊 例如wangchenggong
gets是得到字符串 用它简单 scanf得到什么都行但用起来不如gets 所以用了gets
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenjian313
2009-11-17
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
gets 输入 一串字符串 回车键结束 scanf遇见空格就直接结束输入了 懂不
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式