原来scanf读入字符串还能这样..

(本文针对于NOIP Day1 玩具迷题)

(这是弱鸡写的)(字符串用char二维,本质一样的)

  在NOIP成功AC了这道题,结果OJ上被string卡了时间,没办法只能用scanf了.....百度看到scanf能读“字符串”??然后理解错了....我就用它读string。。各种程序崩溃。。。然后看lsj用的char二维数组scanf(“%s”,&name[i]);然后看了看书上,二维数组的本质就是一维数组名加上元素。。。比如char   a[10][10]; 那么a[0]其实就是a[0][0~9]的数组名,&a[0]就指向了a[0][0].

1 char name[100100][12];
2 for(int i=1;i<=n;i++)
3 {
4     cin>>face[i];
5     scanf("%s",&name[i]);
6 }
这样读入的每次就是name[i][0~11],相当于string的作用.
感觉理解又加深了一步..
然后定义的变量 ID指向答案,输出的时候
printf("%s",&name[v]);//然后就会输出name[v][0~12]的内容
原文地址:https://www.cnblogs.com/snifemoree/p/6140802.html