【问题标题】:The function should be printed in reverse but it just gives me an error该功能应该反向打印,但它只是给我一个错误
【发布时间】:2014-04-21 06:53:06
【问题描述】:
#include <stdio.h>

void stringReverse( char [] );

int main()
{
    int y = 24; int x;
    char str[ 24 ] = "Print this string back.";
    //for ( x = 0; x < y; ++x )
    printf("%s \n",str);  
    stringReverse( str );
    return (0);
}

void stringReverse( char str[] )
{
    if ( str[0] == '\0' )
        return; 
    stringReverse( &str[1] );
    printf("%s \n",str[0]); 
}

这是基本的 C,所以请不要复杂的东西。我真的不知道怎么了。

【问题讨论】:

  • 没有什么C++,所以我去掉了C++标签。
  • @MichaelRoland:嗯。我什至不确定缩进变化是如何影响我的建议的。无论如何,我永远不会像那样修复缩进。
  • 如果它解决了您的问题,您应该接受 Barmer 的回答。

标签: c string reverse


【解决方案1】:

打印单个字符的格式运算符是%c,而不是%s。所以应该是:

printf("%c \n",str[0]); 

修复此问题后,输出为:

Print this string back. 
. 
k 
c 
a 
b 

g 
n 
i 
r 
t 
s 

s 
i 
h 
t 

t 
n 
i 
r 
P 

【讨论】:

  • 但问题是它没有反向打印,我制作了这个功能以便它可以反向打印我给它的句子
  • 很高兴知道最基本的功能之一是如何工作的?哇。由于类型不匹配,好的编译器会为您的代码打印警告。
猜你喜欢
  • 2014-09-10
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 2019-10-24
  • 2011-09-02
  • 2021-05-27
  • 2011-05-20
  • 1970-01-01
相关资源
最近更新 更多