|
发表于 2013-3-14 19:55:25
|
显示全部楼层
本帖最后由 喜欢散步 于 2013-3-16 03:20 编辑
这里的c = '\0', 是赋于C一个空值, 就像你定义一个int a = 0, float *p = NULL一样, 因为你定义了一个变量, 它的指向是不固定的, 它什么值都有可能。程序里有c!=27&&c!13, 如果你不这样赋初值的话, 它的值是不可预知的, 可能一开始, c的值就会是13或27, 会一下子就跳出循环了。。。这样我们写这个测试的程序就没意义了。。。。我个人认为, 对于定义变量, 还是赋一个初值比较好, 起码书 是这样的。我有一个外国人写的《C程序设计》, 里面所有例子, 定义的所有变量, 一开始都类似这样:int a = 0, float b = 0.00, double * p = NULL等等, 我觉得这应是为了一种标准与防止程序出错吧。。。。。。
- #include <stdio.h>
- int main(void)
- {
- int a = 0;
- printf("Please input a char:");
- a = getchar();
- printf("%c\n", a);
- return 0;
- }
复制代码 这里int a = 0对于我们来说要不要都一样的, 不过一般建议写上, 为什么呢, 看下面的:
- #include <stdio.h>
- int main(void)
- {
- int a;
- while(a)
- {
- printf("Please input a number:");
- scanf("%d", &a);
- fflush(stdin); //清除输入缓冲区
- printf("%d\n", a);
- }
- return 0;
- }
复制代码 这里, 如果定义了int a不写上初始值的话, 一样会运行, 不过, 也有没法运行的情况出现, 因为没赋初值的话, a的初值不可预测, 为0也有可能, 所以, 一般我们这样写上面这个程序:
- #include <stdio.h>
- int main(void)
- {
- int a = 1; //我想要让用户自己来退出程序, 所以初始值为真就行
- while(a)
- {
- printf("Please input a number:");
- scanf("%d", &a);
- fflush(stdin); //清除输入缓冲区
- printf("%d\n", a);
- }
- return 0;
- }
复制代码
|
|