字符串数组好久没用都忘了,定义string s[100];但是输入的时候如果写 scanf("%s", s[i]);就错了,提示
也许%s只能把定义的char型的字符数组当成字符串输出,改成 cin>>s[i];就对了
而且strlen(s[i])都用不了,会提示
而strlen括号里面是放字符串的所以我猜测用定义的string类型的数组时能用%s表示它的格式
我也不知道反正是猜测,改成cin>>s[i];就对了,还是c++方便,不用管格式
还有一个知识点就是,如果对定义的字符串数组string s[100]按照字典序排序,可以用sort(s, s+n);
#include<stdio.h> #include <iostream> #include<algorithm> #include<string> using namespace std; string s[100]; int main() { int n; scanf("%d", &n); for(int i = 0; i < n; i++) cin>>s[i]; sort(s, s+n); for(int i = 0; i < n; i++) cout<<s[i]<<endl; int len1 = sizeof(s[0]); int len2 = sizeof(s[n-1]); printf("%d %d\n", len1, len2); return 0; }
原文:http://www.cnblogs.com/rain-1/p/4796733.html