0 点赞 评论 收藏
分享
2017-08-24 19:57
深圳大学 C++ 0 点赞 评论 收藏
分享
0516wss:#include<iostream> using namespace std; int Array(char **arr, int length ){ //输入为字符串数组,及其长度 if(arr==NULL||length<1) return -1; for(int i=1;i<length;i++) { if(arr[i-1][strlen(arr[i-1])-1]!=arr[i][0])//比较字首和自尾的字符,不等就返回0 return 0; } return 1; } int main() { char *arr[4]={"abc","cde","fg","gh"}; cout<<Array(arr,4); return 0; }

0 点赞 评论 收藏
分享
2017-08-22 19:24
深圳大学 C++ sgbs:原因是因为 在FindPath函数里要不断的递归自己,如果你将两个数组放入函数中 你难道不知道要重新初始化吗?也就是说之前的工作都白做了。然而咱们要的却是res 不断递归的结果,所以呢要放外面 不然 你得到的结果是 最后一次递归的结果。 不知道你明白没?不明白的话可以联系我!

0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
刘明宇:因为flag会每次左移一位判断n的次低位是不是1,而此时的n不一定为1,你可以将(n&flag)==1换成(n&flag) != 0,这样应该就满足你的本意了。大佬轻喷

0 点赞 评论 收藏
分享

0 点赞 评论 收藏
分享
你484傻!:你在遍历字符串长度的时候 用的是str str 已经发生了改变,后面在做替换的时候 str[] 不会是你以为的结果。。 我也不知道有没有解释清楚。。 你把遍历那部分 改成这样就可以了: char *ptr = str;
while(*ptr != '\0'){
++originallength;
if(*ptr == ' ')
++blanklength;
++ptr;
}

0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: