注意的问题
c语言所需要注意的问题:
1 %2d是什么意思?
%2d就是保留两位,不足用空格补位,超出该几位就是几位。
比如:输入123,则输出123,输入2,则输出(代表空格,实际输出无下划线,他只是一个空格)_2.
那么一次类推:
%4d就是小于4位,用空格补出,多出4格就该几格就是几格。
总结:
%xd,x是几,若不足,前面补几位,补出的是空格,如果超出,则按原位输出。
%0xd,x是几,前面有几位不足,那么前面就补几位,补出的是0,如果超出,则按原位输出。
%xf,这个是针对实数的,比如float,double,举个例子
Double a=12.3;
如果是正常输出的话,比如(printf(“%f”,a)),则输出12.3000000;
如果是按照位数输出,小数点前面根据计算没有什么特别多的用处,小数点后面的则是他的位数,比如Printf(“%2.1f”),则输出12.3;又比如printf(“%2.2f”,a),则输出12.30;如果是printf(“%2.3f”,a),则输出12.300.
2 指针传值会遇到问题。
情景:已经有了一个方法A(struct stu *a); 这个的方法的参数是一个地址,然后我们在main()给他传递参数。
错误做法:
Struct stu *ss;
A(ss);
正确做法:
Struct stu ss;
A(&ss);
思路:
1 变量是单向值传递。这个你应该懂,就是传递如果想改变原值,那么必须要传递地址。(一个变量的引用)。
2 struct stu *ss中的ss是什么?ss是变量,他和int a中的a是一样的,只不过这里存放的是指针(地址)。所以ss就是一个变量,当然传变量是不可以的。必须传地址。即引用。
注:以后函数需要传递地址,那么就是需要这样做。

浙公网安备 33010602011771号