1.C中没有专门存储字符串的变量类型,使用char类型的数组存储字符串时,字符会被逐个自动存储在相邻存储单元。一个萝卜一个坑。
举例,新建一个char数组,数组大小100,输入一个字符串12345,他会自动存储按顺序起来,这在算法中有利于对单个数进行操作。
char ch2[100];
printf("输入串:");
scanf("%s", &ch2);
printf("整个串为:%s \n", ch2); //注意整个串输出为%s
printf("第1个存储单元单独存储:%c \n", ch2[0]); //单个字符输出为%c
printf("第2个存储单元单独存储:%c \n", ch2[1]);
2.关于使用new方法新建动态数组。这是C++中新增的方法。此时使用scanf和printf对new新建的数组进行输入输出操作无效。需要使用cin cout。
举例,new新建数组,cin输入,cout输出。
int n; //定义长度
scanf("%d", &n); //读入长度
char* ch = new char[n] ; //使用new新建动态数组,长度为n
cin >> ch; //输入ch
cout << ch << endl; //输出整个数组
cout << ch[0] << endl; //输出第一个元素
cout << ch[1] << endl; //输出第二个元素