求助,这是一个字符串反置的代码,求问哪里错了
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int dey(char*str)
{
char*max = str + strlen(str) - 1;
char*i = str;
int p = 0;
while (*max);
{
char dest = *max;
*max = *i;
*i = dest;
p++;
if (p > (strlen(str) / 2));
{
return 0;
}
*max--;
*i++;
}
}
int main()
{
char str[] = "wdqawfkhsaiogea";
dey(str);
printf("%s\n", str);
return EXIT_SUCCESS;
} while (*max);
...
if (p > (strlen(str) / 2));
这两个地方删掉';' #include<stdio.h>
#include<string.h>
#include<stdlib.h>
void dey(char * str)
{
char * max = str + strlen(str) - 1 ;
char * i = str ;
char dest ;
int p ;
for(p = 0 ; p < strlen(str) / 2 ; p ++) {
dest = * max ;
* max -- = * i ;
* i ++ = dest ;
}
}
int main()
{
char str[] = "wdqawfkhsaiogea" ;
dey(str) ;
printf("%s\n", str) ;
}
Croper 发表于 2019-4-18 21:06
这两个地方删掉';'
这俩个地方为什么会错啊,*max函数里有自增,有脱出循环的条件 ,
if(p》7);看起来也没错啊。为啥嘞 条件判断是为了选择代码执行,这 2 句后面本来应该带着需要选择执行的代码(或代码块),而如果是分号,就相当于告诉程序不用执行任何代码。 jackz007 发表于 2019-4-18 23:25
条件判断是为了选择代码执行,这 2 句后面本来应该带着需要选择执行的代码(或代码块),而如果是分号 ...
蟹蟹,解决了
页:
[1]