Mọi người cho em hỏi tại sao em khai báo 2 con trỏ khác nhau nhưng khi sử dụng lần thứ 2 thì con trỏ 1 cũng bị thay đổi theo con trỏ 2 ạ?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdint.h>
char *str1;
char *str2;
char *str = (char*)"Onesomething";
char resultString[50];
char *subString(char *str, unsigned char soure_char, unsigned char destination_char)
{
unsigned int i, j, k =0;
unsigned char lenghthSrc = 0, lengthDes = 0;
for(i = 0; str[i] != soure_char; i++)
{
lenghthSrc++;
}
for(j = 0; str[j] != destination_char; j++)
lengthDes++;
memset(resultString, 0 , sizeof(resultString));
for(k = 0; k < lengthDes - lenghthSrc-3; k++)
{
resultString[k] = str[lenghthSrc + k + 2];
}
resultString[k + 1] = '\0';
// printf("%s\n", resultString);
return resultString;
}
int main()
{
str1 = subString(str,'O', 'g');
printf("str1 = %s\n", str1);
str2 = subString(str,'n','i');
printf("str1 = %s\n", str2);
printf("str2 = %s\n", str1);
}