我是c编程的新手,这是我第一次尝试反转字符串。我输入了以下代码,但遇到了运行时错误。任何人都可以告诉我我错在哪里,这样我就不会再犯同样的错误了。
#include <stdio.h>
# define size 10
int main()
{
int i=0; int a=0;
char s[size];
printf("enter your word");
scanf("%s", s);
a= strlen(s);
for(i=a-1;i>=0;--i)
{printf("%s", s[i]);}
return 0;
}
非常感谢你。
答案 0 :(得分:2)
您通过将具有错误类型的数据传递给printf()
的{{1}} %s
来调用未定义的行为,但char*
的类型为{{} 1}}。使用s[i]
打印一个字符。
另外,请不要忘记添加char
以使用%c
。