注意
1.要再输入字符串个数后,需要用getchar吸收回车键
2.需要初始化str数组(随便给str赋个值就行了),这个牵涉到计算机申请相同大小局部变量的一个特点,会申请和上一次申请同样大小的空间在同一位置,所有如果这次输入没能覆盖上次输出的化会让多次输入的结果混合。(说的有点混乱,以后会找个时间理清楚再单独开个文章说一说)
就拿这个程序说,若不初始化则会出现以下结果
#includeint main() { int n; scanf("%d", &n); getchar(); for (int i = 0; i < n; i++) { char str[105]={0}; char c; int local = 0; while ((c = getchar()) != EOF && c != 'n') { str[local++] = c; } if (local > 10) { printf("%c%d%cn", str[0], local - 2, str[local - 1]); } else { printf("%sn", str); } } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)