#include<stdio.h>
int main(void)
{
/*********Begin*********/
char a[100],b[100];
int i,j;
j=0;
scanf("%s",a);
for(i=99;i>=0;i--)
{
if(a[i]='\0')
{
continue;
}
else
{
b[j]=a[i];
j=j+1;
}
}
printf("%s",b);
/*********End**********/
return 0;
}
if语句少了一个等号(=),变成赋值语句了,修改如下:
if(a[i]='\0')
改为
if(a[i]=='\0')
scanf读取的字符串长度并比一定是100个,需要把数组初始化一下才行。
char a[100]={0},b[100]={0}; //修改1
另外,第12行 if(a[i]='\0')这里你少写了一个= ,应该是 if(a[i]=='\0')
if(a[i]=='\0') //修改2
if(a[i]='\0')
改为
if(a[i]=='\0')
说明一下:
由于你写成if(a[i]='\0'),导致a[i]值被设置为0,因此该if语句的结果为false,代码每次都进入else部分
else部分将b[j] = a[i],由于a[i]为0,所以所有b数组元素也都被设置为0了,最终你printf("%s",b);输出b字符串时,由于b全是0,自然啥也没输出了