C语言学习-23.8.19
使用char(字符型)定义时,赋值内容要写于单引号内。如用错为双引号,无论内容为什么,输出结果都如下。
char的赋值内容只可为单个字母,如写入多个,只可赋值最右边一个字母。 scanf(输入函数)每次输入时需以空格或回车结束输入。以空格相隔可以在一行里无限打出整型,以回车结束则开始运行下一段代码。 无论程序里有几个scanf(输入函数),无论最终打出多少个整型,所有整型会按打出顺序依次输入地址,所有地址输入完后多余的整型不参与程序运行。 并且在scanf(输入函数)中使用\n(换行符)会出现bug。
很奇怪,如果\n(换行符)使scanf(输入函数)多了一行打字空间,那上图中"b=6"换行后为什么又直接输出运算结果了呢? 后续程序:
去掉scanf(输入函数)中的\n(换行符),以回车结束输入,程序正常运行。
略作改进,每次输入以回车结束可正常运行,但无法放在同一行。
很奇怪,这次第二个scanf(输入函数)与上一次bug不同,直接不给输入了。 推论: 第一次bug中的“b=6”里的“6”是第二个scanf(输入函数)里的\n(换行符)导致的。 结论: 同一个程序里所有scanf(输入函数)中的地址总量不变,程序运行时所有打出的整型按先后顺序依次填入地扯,如果地址用完了,那么后面的scanf(输入函数)不会再给打字机会; \n(换行符)在printf(打印函数)里运行时只会换行,在scanf(输入函数)里运行时会先给一次打字机会再换行。