C语言编译出错,望指出错误!
发布网友
发布时间:2023-03-27 13:54
我来回答
共5个回答
热心网友
时间:2023-10-24 00:53
你的源代码有几个地方有错误,首先是scanf语句,你的变量名前面没有加地址符&;其次,给字符变量C输入一个值,不是用"get(c);",而是getchar(c);
#include<conio.h>
#include<stdio.h>
int main()
{ int y;
char c;
scanf("%d;%c",&y,&c);
switch(y)
{
case 21: printf("hahah");
case 31: getchar(c);
case 41: printf("nihao");break;
case 43: printf("43");break;
default:printf("jieshu ");
}
getch();
return 0;
}
//你提问的代码有点乱,以后提问尽量粘贴整齐的源代码,这样别人看的舒服
热心网友
时间:2023-10-24 00:54
1,记得在每个case后面都加break;
2,getch();这个不是函数,应该是getchar();也有getc();
3,自己定义的get(char c)要向前声明。另外最好加上void
4,scanf输入,记得地址符&
5,养成好习惯,printf最好加换行符,因为有行缓存的原因。
#include<stdio.h>
void get(char c);
int main()
{
int y;
char c;
scanf("%d;%c",&y,&c);
switch(y)
{
case 21:
printf("hahah");
break;
case 31:
get(c);
break;
case 41:
printf("nihao");
break;
case 43:
printf("43");
break;
default:
printf("jieshu ");
break;
}
getchar();
return 0;
}
void get(char c)
{
if(c==' '||c=='\n')
printf("这是一个空格");
else if(c>='0'&&c<='9')
printf("这是数字");
else if(c>='a'&&c<='z'||c>='A'&&c<='Z')
printf("这是字符");
else
printf("什么都不是");
}
热心网友
时间:2023-10-24 00:54
这个程序C编译应该没什么问题,只是应该在case 21 和case 31行要加一个break;否则执行就达不到期望效果
热心网友
时间:2023-10-24 00:55
#include<conio.h>
#include<stdio.h>
int main()
{ int get(char);
int y;
char c;
scanf("%d,%c",&y,&c);
switch(y){
case 21: printf("hahah"); break;
case 31: get(c); break;
case 41: printf("nihao");break;
case 43: printf("43");break;
default:printf("jieshu "); break;
}
getch();
return 0;
}
int get(char c) {
if(c==' '||c=='\n')
printf("这是一个空格");
else if(c>='0'&&c<='9')
printf("这是数字");
else if(c>='a'&&c<='z'||c>='A'&&c<='Z')
printf("这是字符");
else
printf("什么都不是");
}
对比一下吧。
热心网友
时间:2023-10-24 00:56
以后问问题的时候,代码弄规范点,这样会给答题者提高效率的