1.声明字符数组时,[]中的数应为数组中字符个数,包括'/0'如 char p[5] = "dddd";则实际为:'d...
char name[3];说明name这个数组每个单元存储的是 char 类型也就是字符类型的数据。string name[3];说明name这个数组每个单元存储的是 string 类型也就是字符串类型的数据。"张三" “李四” 是字符串类型的 非要用char 类型的可以定义如下:char name[3][3] = {"张三","李四","王五"};//分...
你这是char型的二维数组,不能这么排序。用string类吧。或者你写个结构体作为字符串,然后重载一下小于号 struct str{ char s[100];}name[10];bool operator <(str a,str b){ for (int i=0;i<strlen(a)&&i<strlen(b);i++){ if (a[i]b[i]) return 0;} return strlen(a)<strlen...
char a[10]={‘a','b','c','d','e','f','g','h','i''}是字符数组,能存放10个字符 它不是常量 char a[10]=”abcefghi“ 这个是常量字符串,在字符最后位置自动加上'\0'最多能存放9个字符
char* (*p)[10];我就解释一下吧:这是一个复杂声明语句,关键是看标识符和声明符结合的优先级,首先“ * ”和“ p ”结合,表示你声明了一个指针,然后“ (*P) ”和“ [] ”结合,表示你声明的是一个指向数组的指针,最后“ (*p)[10] ”和“ char* ”结合,表示你声明的指针指向的数组...
首先,你要找到这个字符数组中数字的位置,假如这样一个字符数组 unsigned char a[]="my string exists 1 number";其中有个1对吧,位置18,所以是a[17],注意,在内存中a[17]的值是1的ASCII码值49,也就是说a[17]实际上等于49,那么,所以你如果想输出1就必须这样输出:printf("%d",a[17]-...
把这个二维数组分解成一维来看 就是 ch1[5]="6934";ch2[5]="8254";以上是2个一维数组 这个时候人们想把他们合并在一起,更加方便操,作于是乎 就有了2维数组,ch[2][5]; 、框框里面2的意思就是有2个长度为5的一维数组 这样你懂咩 ...
type name [numer];这种形式.区别只是初始化方式.int a[10];是不初始化.char a[3]={'a'}; 是按元素初始化.这两种是最常见的.至于你说的 char a[4]="abc";只是字符数组作为字符串的一种特殊的初始化方式而已.除了这几种外,还有一个是新标准以及gcc支持的,选择初始化,比如 int a[100]...
若该char数组是a, 或指向该数组的指针是a 都可以用以下方法输出 cout<<a<<endl;puts(a);printf("%s",a);因为不知数组的大小,所以将由系统决定什么时候是字符数组的结束,一般说来以上方法的输出以字符'\0'的出现作为结束。注意应该自己设定好字符串中的'\0'标志,如果系统找不到这个标志,...
1、你要是用的是VC编程软件就可以输入汉字;要是用的是TC就不行。2、你要是说输入的汉字是char[]内容,那么是肯定不行的,都知道计算机的语言是0和1组成的 。3、要是想叫输出时汉字也很简单,有可能楼主也经历过,只要一个程序不出错,按照自己的意愿去编写,输出的就可能是个汉字,有空可以尝试...