反转字符串运行时错误

时间:2016-05-05 12:51:57

标签: c string

我是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;
}

非常感谢你。

1 个答案:

答案 0 :(得分:2)

您通过将具有错误类型的数据传递给printf()的{​​{1}} %s来调用未定义的行为,但char*的类型为{{} 1}}。使用s[i]打印一个字符。

另外,请不要忘记添加char以使用%c