int getline(char s[]) { //读一个字符,回车后返回除换行符的字符数//
int a;
int b=0;
while ((a = getchar()) !='\n'&&b<10) //最大字符小于10//
{
s[b] = a;
b++;
}
b--;
return b;
}
main() {
char s[10];
char i[10];
int c;
int a;
while ((a = getline(s)) > 0) { //除了输入换行符 有输入就执行循环//
for (c = 0;i[c] = s[a] && a >= 0 ;c++) //倒序拷贝字符串//
a--;
i[c] = '\n';
c++;
i[c] = '\0';
printf("%s", i);
}
return 0;
}
输出是 口
感觉犯了很简单的错误,但是不知道问题在哪。
你的字符数组i一开始都没有东西怎么判断
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{ int len,i;
char a[100];
gets(a);
len=strlen(a);
for(i=len-1;i>=0;i--)
printf("%c",a[i]);
return 0;
}
i[c] = s[a]是赋值,恒成立,是判断相等吧
for (c = 0;i[c] == s[a] && a >= 0 ;c++)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!