赞
踩
① 首先介绍printf输出正型数,输出的形式为printf(“%d”,n);n为变量,n必须被int 或 long int 或 short int 定义。
相信下面几个表达方式,就能说明问题吧:
%d=int,
%ld=long,
%lld=long long。
② printf输出浮点数,浮点数也就是数学上的整数,当用double或float定义一个数,就需要利用%f输出,输出的形式为printf(“%f”,n)。
③ 当定义的数在运算后非常大时,就可以用科学计数法,输出的形式为printf(“%e”,n)。
④ 定义字符时需要输出字符,printf也可以输出字符,输出的形式为printf(“%c”,n); n必须是由char定义的。
⑤ 在输出字符串时,其格式是**%s**,输出的形式为printf(“%s”,n),这里的n是字符串的首地址。
*char *a = “hello” 中的a是指向第一个字符‘a’的一个指针
char a[20] = “hello” 中数组名a也是执行数组第一个字符‘h’的指针
把字符串加到指针所指的字串上去,出现段错误,本质原因存放在常量区,是无法修的。而数组是存放在栈中,是可以修改的。两者区别如下:
”读“ ”写“ 能力
*char a = “abcd”; 此时"abcd"存放在常量区。通过指针只可以访问字符串常量,而不可以改变它。
而char a[20] = “abcd”; 此时 "abcd"存放在栈。可以通过指针去访问和修改数组内容。
赋值时刻
char *a = “abcd”; 是在编译时就确定了(因为为常量)。
而char a[20] = “abcd”; 在运行时确定
存取效率
char a = “abcd”; 存于静态存储区。在栈上的数组比指针所指向字符串快。因此慢
而char a[20] = “abcd”; 存于栈上。快
⑥ 输出的形式为printf(“%.2f”,n)就是保留两位小数的意思,我是可以换的比如保留3位小数,输出的形式为printf(“%.3f”,n)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。