看看大括号有没有成对出现,这就是所谓的成对编程。
还有就是少分号,有些语句是不需要分号的 比如for if记住几个特例就行,其他大部分都得补足分号。
最容易出错的还有指针,建议从一些简单指针题入手,掌握好规律就可以了。
A是错的字符数组除了在定义行可以这样直接初始化外,像A这样初始化是不正确的
C是指针数组,这里相当于把这个字符数组的首地址赋予SS[1]
ss[1]="right?"并不是把"right?"的指针赋值ss[1],这样是赋值
如果是赋予指针还要有取地址符&,而且这个也不是指针变量
以下为你收集的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)
}
以上总结比较全面,希望能帮到你。