我想问一下,如果我有一个字符串“abcdefgh”,我希望它的一半成为“abcd”和“efgh”并将它存储到自己的字符串中,称它为“UpperHalf”和“LowerHalf”。所以要这样做的方法是首先使用strlen()来找出我的输入的长度和一半呢?那么我需要使用strcpy()并将其复制到它们各自的字符串中吗?把一个字符串分成了两半,再加上另一个字符串
其实我甚至不知道我的代码是否有意义。任何人都可以给我一些评论呢?
我意识到我只需要考虑即使是输入数字,这意味着我不必担心奇数输入。以前我试图把一个1d的字符串分成两半,然后用另一个字符串进行strcat。但是现在我得到了一系列以二维数组格式存储的输入字符串。在这种情况下,我如何检索这些字符串并将其操作,就好像它与前面的1d案例一样?我不认为我需要使用循环?我可以指向行吗?
int d = strlen(str); // just an example where str = the characters inside my string
strcpy(temp, &str[0]); // store original string into a temp string starting from 0 to \0
str[d/2] = '\0';
strcpy(UpperHalf, &str[0]); // starts copying from position 0 to \0 which is the half way point
str[0] = temp; //revert back to normal -> Does this line even make sense?
strcpy(LowerHalf, &str[d/2]);
替换 '/μ0' 与 '\ 0' – user3159253
感谢。我纠正了它,但逻辑明智的任何意见?有点第一次做弦乐。 – Morde
你*知道阵列自然衰减指向他们的第一个元素?这意味着如果你有一个数组'str'并将它传递给一个带指针的函数,编译器将传递的内容与'&str [0]'实际上是一样的。所以你不必明确说明它,只要通过'str'就可以工作。 –