来个大咖解释下为什么我这个代码为什么走不起来啊?(初学者)
c++
#include<stdio.h>
int my_strlen(char *str1)
{
int number=0;
while(str1!='\0')
{
str1++;
number++;
}
return number;
}
void exange(char *str)
{
int left=0;
int right=my_strlen(str)-1;
while(left<right)
{
char temp=str[left];
str[left]=str[right];
str[right]=temp;
left++;
right--;
}
}
int main()
{
char arr[]="abcdef";
exange(arr);
printf("%s\n",arr);
return 0;
}
代码能走起来,但是屏幕上什么也没有
str1是一个指针,应该判断指针所指的元素是否为\0
改成
while(*str1!='\0')
第六行改成
while (*str1 != '\0')
#include<stdio.h>
int my_strlen(char* str1)
{
int number = 0;
while (*str1 != '\0')
{
str1++;
number++;
}
return number;
}
void exange(char* str)
{
int left = 0;
int right = my_strlen(str) - 1;
while (left < right)
{
char temp = str[left];
str[left] = str[right];
str[right] = temp;
left++;
right--;
}
}
int main()
{
char arr[] = "abcdef";
exange(arr);
printf("%s\n", arr);
return 0;
}