当前位置:首页 » 编程语言 » c语言不知道错在哪里
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言不知道错在哪里

发布时间: 2022-07-30 12:35:56

c语言的输入错在哪里

scanf_s函数是微软为了防止输入字符时溢出更新的一个函数;
当输入数值时和原来的scanf函数一样的用法,如果输入字符或者字符串就要多传入一个最大容量的值。
scanf_s("%c,%c", &a, &b);改成
scanf_s("%c,%c", &a, 1, &b, 1);
每个变量都要跟一个最大容量。

② C语言不知道错哪里了,速度求解。

情况1:
while(a=fgetc(fp1)!=EOF)//<<<掉了一括号
如果改为这么写:
while(EOF
!=
(
a=fgetc(fp1)
)
)
你就不会因为掉了一对括还能继续编译了.
情况2;
你都没有查检fp1
fp2是不是成功的打开了文件,你很可能因为路径或权限的原因还打不开文件
fp1=fopen("C\\:Mydir\\source.dat","r");
fp2=fopen("C\\:Mydir\\destination.dat","w");
改为
if(NULL==(fp1=fopen("C\\:Mydir\\source.dat","r")){printf("读文件打不开");return;};
if(NULL==(fp2=fopen("C\\:Mydir\\destination.dat","w"))){printf("写文件打不开");return;};
你可以知道文件是不是成功的打开了

③ C语言不知道错哪里

你这个程序在录入时就有错。好友名字的获得函数前面把计算机成绩录入时以分号结尾所以分号就直接到了gets()函数上就跳过来名字的录入

平均分计算不出来是因为成绩录入也是错的

改为如下就对了

#include<stdio.h>
main()
{
charname1[3],name2[3];
longno1,no2;
floatenglish1,english2,math1,math2,pc1,pc2,pj1,pj2;
printf("请输入第一位学生姓名:");
gets(name1);
printf(" 请输入%s的学号:",&name1);
scanf("%ld",&no1);
printf(" 请输入%s的英语成绩:",&name1);
scanf("%lf",&english1);
printf(" 请输入%s的数学成绩:",&name1);
scanf("%lf",&math1);
printf(" 请输入%s的计算机成绩:",&name1);
scanf("%lf",&pc1);
getchar();
printf(" 请输入第二位学生姓名:");
gets(name2);
printf(" 请输入%s的学号:",&name2);
scanf("%ld",&no2);
printf(" 请输入%s的英语成绩:",&name2);
scanf("%lf",&english2);
printf(" 请输入%s的数学成绩:",&name2);
scanf("%lf",&math1);
printf(" 请输入%s的计算机成绩:",&name2);
scanf("%lf",&pc2);
pj1=(english1+math1+pc1)/3;
pj2=(english2+math2+pc2)/3;
printf("%s%ld平均成绩为%f",name1,no1,pj1);
printf("%s%ld平均成绩为%f",name2,no2,pj2);
}//你试试看对不对

④ c语言出错 不知道错在哪

要养成用大括号而不是缩进把if语句循环语句等的可执行部分括起来的习惯.你这样写非常容易出错
出错行是12行的else找不到匹配的if,就是因为这种不明确的匹配关系导致的

⑤ 一个C语言程序,不知道自己错在哪里

你的输入语句scanf写错了,里面应该用两个%d来接收输入。

⑥ c语言编程问题,不知道错在哪里

把主函数的返回值限定符改为int,然后在结尾返回0即可,试试吧

⑦ 急,c语言差不多都完成了,就最后一点错误,不知道在哪里

int check(char* str) {
int flag=0;
int isCheck = 1;
int isOk = 1;
char* p = str;
while (*p) {
switch (*p) {
case '{':
if (isCheck)
{
flag++;
printf("%c ",*p);
}
break;
case '}':
if (isCheck)
{
if (flag < 1)
isOk = 0;
flag--;
printf("%c ", *p);

}
case '/':
if (*(p + 1) == '*')
isCheck = 0;
break;
case '*':
if (*(p + 1) == '/')
isCheck = 1;

}
p++;
}
if (flag == 0 && isOk == 1) {
return 1;
}
else {
return 0;
}
}

//你自己调用把,这个是栈的知识