scanf("%d",&D[i][j]) 中少了 &号,导致输入的时候程序停止工作或闪退。
for() 循环中不能定义变量for(int i=1; i<=n; i++),否则编译会报错。
在c语言中,字符串是以一维数组的形式存在的。
--------------------------------------------------------------------------------------------------------
c语言中 int类型未被赋值的元素为0,浮点数为小数类型 0.0,而字符型则为‘\0’
二维数组和一维数组在内存中的存储也是按照线性排布的。
在32位操作系统下,任何类型的指针变量都占四个字节。在64位操作系统下,一个指针占8个字节。编译器为了兼容,一般会将指针都指定4个字节长度。
--------------------------------------------------------------------------------------------------------
数组与指针:
C语言规定,数组名代表数组的首地址。
int *p;
p = &a[0]
p = a /*等价于 p = &a[0]*/
字符串指针与字符串数组:
相同点:字符串指针和字符串数组都可以访问字符串
区别:字符串指针不能改变字符串常量的值,字符串数组可以改变数组中保存的内容,即字符串常量。
-------------------------------------------------------------------------------------------------------
scanf() 和 gets() 的区别:
- scanf() 读取字符串是以空格为分隔,遇到空格就认为输入结束了
- gets() 只有遇到回车键时才认为字符串输入结束。
注意:
int,float,char等类型的变量用于scanf()时都要在前面添加&,而数组或者字符串用于scanf()时不用添加&,他们本身就会转换为地址。
--------------------------------------------------------------------------------------------------------