标签:style blog http color os io ar for 2014
1 /* 2 * Main.c 3 * 1009. 说反话 4 * Created on: 2014年8月29日 5 * 6 **********测试通过****** 7 */ 8 9 #include <stdio.h> 10 #include <string.h> 11 12 char inStr[81]; 13 char outStr[41][81]; 14 15 int main(void) { 16 17 int i, j; 18 int wordNum = 0; 19 20 gets(inStr); 21 22 int length = strlen(inStr); 23 //以空格分隔,将每个单词存储到二维数组 24 j = 0; 25 for (i = 0; i < length; i++) { 26 if (‘ ‘ == inStr[i]) { 27 wordNum++; 28 j = 0; 29 continue; 30 } 31 outStr[wordNum][j++] = inStr[i]; 32 } 33 34 while(wordNum>0) 35 printf("%s ", outStr[wordNum--]); 36 printf("%s\n", outStr[0]); 37 38 return 0; 39 }
这题目遇到一个古怪问题:
1 char inStr[81]; 2 char outStr[41][81];
定义为全局时,才能在我的IDE中正常运行;如果定义为局部时( main( )里面第一行位置 )结果就会出现乱码。
如图:
1. Visual Studio 2013 Express,局部变量:
2. Ecplise Luna,MinGW,GCC,局部变量:
但是奇怪之处在于,提交PAT结果都是正确的,无论局部还是全局的,都完全通过。这里就不懂了,望请大虾指点!感谢!
题目链接:
http://pat.zju.edu.cn/contests/pat-b-practise/1009
参考:
http://www.xuebuyuan.com/1560821.html
标签:style blog http color os io ar for 2014
原文地址:http://www.cnblogs.com/boomkeeper/p/1009b.html