-
c语言中没有专门计算数组长度的函数,需使用
sizeof(arr)/sizeof(int)
计算,其中sizeof(arr)
会获得整个数组所占用的字节数,sizeof(int)
会获得一个数组元素所占用的字节数,它们相除的结果就是数组包含的元素个数,也即数组长度。 -
在C语言中,没有专门的字符串变量,没有string类型,通常就用一个字符数组来存放一个字符串。
-
C语言规定,可以将字符串直接赋值给字符数组,例如:
char str[30] = "c.biancheng.net";
-
需要注意的是,用字符串给字符数组赋值时由于要添加结束符 '\0',数组的长度要比字符串的长度(字符串长度不包括 '\0')大1。例如:char str[] = "C program";
该数组在内存中的实际存放情况为: 字符串长度为 9,数组长度为 10。
-
所以在计算字符串长度时可以使用strlen函数,它 是 string length 的缩写,用来获得字符串的长度。所谓长度,就是包含多少个字符(不包括字符串结束标志 '\0')
-
scanf("%s",&c);
是错误的,数组名c就代表这个地址。因为c已经表示地址,所以在c前面不能再加取地址符&. -
gets() 函数不会把空格作为输入结束的标志,而只把回车换行作为输入结束的标志,这与 scanf() 函数是不同的,scanf()函数将空格作为输入结束标志
网友评论