c语言函数易错点 c语言易错知识点
C语言函数的定义多处出错
你好,代码已为你改正,请采纳
成都创新互联-专业网站定制、快速模板网站建设、高性价比太和网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式太和网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖太和地区。费用合理售后完善,10多年实体公司更值得信赖。
#include"stdio.h"
#include"stdlib.h"
int zhanzhuan(int a,int b)
{
int c,d;
if(ab)
{
d=a;a=b;b=d;
}
do
{
c=a%b;
a=b;
b=c;
}while(c!=0);
return a;
}
void main()
{
int a,b,c;
printf("请输入两个数:\n");
scanf("%d%d",a,b);
c=zhanzhuan(a,b);
printf("%d\n",c);
system("pause");
}
c语言函数问题,请问大神哪里错了
#includestdio.h
{void average(int arr[], int count)
int i, sum=0;
for(i=0;icount;i++)
scanf("%d",a[i]);
{ for(i=0; icount; i++)
sum+=arr[i];
printf("Average:%d\n", sum/count);
}
void main()
{
// int a[]; //定义的数组a没有指定内存空间的大小
int a[30];
Average(a,30);
}
c语言函数 高手来纠错
第一个错误:#include"stdio.h"称作 标准输入输出头文件包含 必须出现在 文件开始
第二个错误:scanf("A",B) 格式 A称作格式控制,用引号引起来 B称作输入项,他与格式控制之间用 逗号 隔开,故应该为 scanf("%d",score);
第三个错误:p函数 有 int型返回值 而 主函数 为无返回值型 所以类型不匹配
故应改为 p(int score)
修改后 答案
#include"stdio.h"
p(int score)
{
if (score100 || score0)
printf("error");
else if (score=90 score=100)
printf("youxiu\n");
else if (score=70)
printf("lianhao\n");
else if (score=60)
printf("jige\n");
else printf("bujige\n");
}
main()
{
int score;
printf("shu chenji:");
scanf("%d",score);
p(score);
}
c语言中从键盘输入数据的规律和容易出错的地方
以下为你收集的c语言输入数据要点及注意事项
说明: (1)数据输入是相对计算机内存
(2) 数据输入使用标准库函数完成
(3) 数据输入标准库函数的原型声明在stdio.h头文件中
1、函数getchar函数的功能是从键盘上输入一个字符。
其一般形式为:字符变量=getchar();
getchar函数只能接受单个字符,输入数字也按字符处理。
输入多余的字符存入到键盘的缓冲区,若有下一个getchar函数语句,直接从键盘的缓冲区读取。
2、字符串输入函数gets 格式:
gets (st)
功能:从键盘上输入一个字符串,本函数得到一个函数值,即为该字符数组的首地址。
注意:gets函数并不以空格作为字符串输入结束的标志,而只以回车作为输入结束。这是与scanf(“%s”,…)函数不同的。
3、scanf()函数的一般形式
scanf(“格式控制字符串”,地址列表);
地址列表,用来接受数据各变量的地址。
变量的地址表示如下: 变量名 ,别忘了取地址运算
其格式字符串的一般形式为:
%[*][输入数据宽度][长度]类型字符
其中有方括号[]的项为任选项。各项的意义如下:
1) 类型字符
表示输入数据的类型,其格式符和意义如下所示:
d 输入十进制整数
o 输入八进制整数
x 输入十六进制整数
u 输入无符号十进制整数
f或e 输入实型数(用小数形式或指数形式)
c 输入单个字符
s 输入字符串
2) “*”符
用以表示该输入项读入后不赋予相应的变量,跳过该输入值。
如 scanf("%d %*d %d",a,b);
输入为:1 2 3 把1赋予a,2被跳过,3赋予b。
3)宽度
用十进制整数指定输入的宽度(即字符数)。
例如: scanf("%5d",a);
输入: 12345678
只把12345赋予变量a,其余部分被截去。
又如: scanf("%4d%4d",a,b);
输入:12345678将把1234赋予a,而把5678赋予b。
4)长度 长度格式符为l和h,l表示输入长整型数据(如%ld)和双精度浮点数(如%lf)。h表示输入短整型数据。
例如:
main()
{ inta;
long b;
double x;
scanf(“%d%ld%lf”,a,b,x);
printf(“a=%d, b= %ld,x=%lf”,a,b,x);
}
使用scanf函数还必须注意以下几点:
(1)scanf函数中没有精度控制。
如:scanf(“%5.2f”,a); 是非法的。
(2)scanf中要求给出变量地址,
如: scanf(“%d”,a);是非法的。
(3)在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。
例如:scanf(“%d%d”,a,b);
输入: 12 10 回车
或 12 回车 10 回车
(4)在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
例如:
scanf("%c%c%c",a,b,c);
输入为:d e f 则把'd'赋予a, ‘’'赋予b,'e'赋予c。
只有当输入为: def时,把'd'赋于a,'e'赋予b,'f'赋予c。
如果在格式控制中加入空格作为间隔,
如 scanf ("%c %c %c",a,b,c);
输入时各数据之间可加空格。
(5)如果格式控制串中有非格式字符则输入时也要输入该非格式字符。
例如:
scanf("%d,%d,%d",a,b,c);
其中用非格式符“,”作间隔符,故输入时应为: 5,6,7
又如:
scanf("a=%d,b=%d,c=%d",a,b,c);
则输入应为: a=5,b=6,c=7
(6)如输入的数据与输出的类型不一致时,虽然编译能够通过,但结果可能不正确。
void main()
{ inta;
printf("inputa number\n");
scanf("%d",a);
printf("%ld",a);
}
以上总结比较全面,希望能帮到你。
本文标题:c语言函数易错点 c语言易错知识点
文章源于:http://scyanting.com/article/dogiioe.html