
正文
c语言函数执行错误 c语言函数不执行是怎么回事
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言函数运行错误
#includestdio.h
float score[3][2];
int i,j,xs=1,kc=1;
float pj(int i)
{float ping;
ping=(score[i][0]+score[i][1])/2;
return(ping);
}
float zuigao()
{
float max=0;
for(i=0;i3;i++)
for(j=0;j2;j++)
if(maxscore[i][j])
{
max=score[i][j];
xs=i;
kc=j;
}
return(max);
}
float zuidi()
{
float min=10000.0f; /*这里min初始化的值必须设置为一个大数c语言函数执行错误,而不是0*/
for(i=0;i3;i++)
for(j=0;j2;j++)
if(minscore[i][j])
{
min=score[i][j];
xs=i;
kc=j;
}
return(min);
}
void main()
{
float max=0,min=10000.0f; /*这里min初始化的值必须设置为一个大数,而不是0*/
printf("请输入3个学生的成绩,按照课程顺序依次输入:\n");
for(i=0;i3;i++)
{ printf("第%d个学生",i+1);
for(j=0;j2;j++)
{ printf("第%d门课的成绩:\n",j+1);
scanf("%f",score[i][j]);
}
}
for(i=0;i3;i++)
printf("第%d个学生的平均分为c语言函数执行错误:%.2f\n",i+1,pj(i));
printf("\n");
min=zuidi();
printf("6个分数中最低的分数是第%d个学生的第%d门课,分数为:%.2f\n",xs+1,kc+1,min);
max=zuigao();
printf("6个分数中最高的分数是第%d个学生的第%d门课,分数为:%.2f\n",xs+1,kc+1,max);
}
相关问答
Q1: c语言编程中字符串复制函数编程程序出现错误,这是怎么回事?
这里原因是gets函数不安全,visual studio的后续产品已经不再支持此类函数,可以换成fgets(str1, sizeof(str1), stdin);
第一个参数是,字符存储地址,第二个是最大内存大小,第三个是从哪里读取,stdin是从键盘,也可以是文件指针表示从文件中读取。
其实strcpy出现提示也是不安全的,可以考虑使用strncpy函数。
以下是扩展资料
C语言gets函数,fgets函数的使用
gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取。函数的具体功能如下所示:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。
使用gets函数的时候应注意以下要素:可以无限读取,不会判断上限,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。如果溢出,多出来的字符将被写入到堆栈中,破坏一个或多个不相关变量的值。
这个事实导致gets函数只适用于玩具程序,为了避免这种情况,我们可以用fgets(stdin) 读取标准输入来替换gets()。为了向后兼容,gets删除换行符,gets并不将换行符存入缓冲区。
fgets函数用来从文件中读入字符串。fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。因此,确切地说,调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'\0',并以str作为函数值返回。原型是char *fgets(char *s, int n, FILE *stream);
同时注意scanf函数和gets函数混用时的注意事项:
1、gets在scanf前调用,这种调用一般不会出现什么问题,可以正常输入。
2、scanf在gets前调用,这种情况就会出现问题,当输入完scanf中的变量时,运行到gets函数,则不让输入任何字符,出现此问题的原因是gets函数接收了scanf输入完后的回车符,解决的办法是在scanf和gets中间,用getchar函数接收掉回车符,这样就不会出现任何问题了。
Q2: C语言程序,为什么报错
1、库函数拼写错误。如:printf,scanf,等
2、定义的函数名在调用时,函数名拼写错误
3、在执行函数时可能函数体本身的问题,有没有实现该函数
4、检查一下任务栏,一般出现这种问题都是你上一次“运行”的小黑窗还没关。然后你执行“编译”,由于该文件正在被使用,程序没法执行编译,所以就报了这样的错误。
Q3: 我的c语言程序为什么会执行不了?
这段C语言代码有三个错误:
一、switch单词拼写错误少了c;
二、if(k = 'V')判断是双等于号==;
三、main函数最好没有返回值,这不是大错。
c语言函数执行错误的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言函数不执行是怎么回事、c语言函数执行错误的信息别忘了在本站进行查找喔。








