1.7问题
1.空白规则很大程度影响程序的美观性,就如python强制要求缩进行一样,良好的缩进可以大大提高程序的可读性,是写一个程序必不可少的环节。所以说空白使用规则很重要,也很必要。
2.这样说可以将不同模块的程序分类放置,就和书的目录一样,需要时#include目录就行,然后需要的内容里面都有,尤其在大型程序时,将不同的函数分别变为模块,调用就用include,程序就会变得井井有条。
3.方便修改,方便查找,增加常量的可读性(但在C++中一般都使用const进行定义,C中也建议使用)
4."%d %s %g\n"
5.
int quantity;
int price;
char department[10] = {0};
scanf("%d %d %s",&quantity,&price,department);//注意输入字符串不要超过9
6.我们可以在可能超出范围的地方进行手动检查(自己编写程序),但是C语言忽略检查数组下标行为的是因为下标是通过指针来操作的。
7.会比实际需要复制更多的字符,但因为output_col在之前已经进行了更新,所以说第二个字符串复制到第一个字符串会复制到合适的位置,唯一需要注意的就是strcpy可能会复制更多的字符到字符串中,在空间不够的字符串中复制会导致内存泄漏,影响程序中其他的变量。
8、使用gets()会出现问题,因为gets不检查越界,当输入的字符比之前预设的多时,gets也会继续执行,但是程序可能会出现内存泄漏的问题,在很多编译器中已经禁止使用gets函数
在以下程序中,如果你输入字符超过5个,则会将多于的字符放入位置的内存中,导致出现内存问题。
#include<stdio.h>
int main( )
{
char s[5];
printf ("input one line: ");
gets(s);
printf ("%s\n",s);
return 0;
}