
stu[50],合法下标从0至49,这是一个错误。比较大小的算法应该是比较简单的,自己琢磨一下有什么问题
int main()
{
int n;
struct Student
{
char name[20];
char id[20];
int score;
};
struct Student stu[50], result[2] = { {"", "", 0}, {"", "", 999} };
printf("请输入学生人数:");
scanf_s("%d", &n);
for (int i = 0; i < n; i++)
{
printf("第%d位学生信息\n", i + 1);
printf("姓名\n");
scanf_s("%s", stu[i]name, 20);
printf("学号\n");
scanf_s("%s", stu[i]id, 20);
printf("成绩\n");
scanf_s("%d", &stu[i]score);
}
for (int a = 0; a < n; a++)
{
if (stu[a]score > result[0]score)
{
result[0] = stu[a]; // 最高分
}
if (stu[a]score < result[1]score)
{
result[1] = stu[a]; // 最低分
}
}
printf("最高分 %s %s %d\n", result[0]name, result[0]id, result[0]score);
printf("最低分 %s %s %d\n", result[1]name, result[1]id, result[1]score);
return 0;
}
先确保你的c程序没有调用win下专有的api,比如win32api或net等,
如果有,就需要另写接口层。最好能只调用posix库或跨平台的库,或完全原创的算法库。
c程序满足和win专有接口能脱离直接关系,就能在linux下编译。
C程序在VC中绝对不能运行不了反而一个C++程序能在C中运行得了按照你上面的程序根本运行不了下面的就能运行
#include<stdioh>
void main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("Max is %d\n",c);
}
int max(int x,int y)
{
int z;
z=x>yx:y;
return(z);
}
首先你的main没有返回类型,然后你的代码里有全角空格,下面是我调试过的代码
#include "stdioh"
void main()
{
int i,j;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
if((i+j)%2==0)
printf("%c%c",219,219);
else
printf(" ");
printf("\n");
}
}
以上就是关于C语言程序在主函数的}后报错,结果也打印出来了(虽然也是错的)全部的内容,包括:C语言程序在主函数的}后报错,结果也打印出来了(虽然也是错的)、linux 下的c程序怎么在windows下运行、C 中的程序代码在C++中能正常编译吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)