有人可以帮助,我不能修复程序,应该在向后打印

  • 本文关键字:程序 打印 帮助 不能 c
  • 更新时间 :
  • 英文 :


我的教授告诉我要解决它,但我不知道这里有什么问题。我什么都试过了,但都不行。

#include <stdio.h>
void naopak(char slovo[20][20], int i)
{
for( i=0; slovo[0][i]!='';)
{
i++;
}
for( i=0; i>=0; i--)
{
printf("%c",slovo[0][i]);
}
}
int main()
{
char slova[20];
int n;
scanf("%d",&n);
for(int i=0; i<n; i++)
{
scanf("%s",&slova);
}
for(int i=0; i<n; i++)
{
naopak(slova[i][i]);
}
return 0;
}

你的程序过于复杂和错误。

你可能想要这个:

void naopak(char slovo[20])
{
int i;
for (i = 0; slovo[i] != ''; i++); // goto end of string
for (i -= 1; i >= 0; i--)  // i -= 1 decrements i, because i points the NUL terminator
{
printf("%c", slovo[i]);
}
}
int main()
{
char slova[20];
scanf("%19s", slova);    // input of word (%19s prevents buffer overflow
// if you enter more than 19 chars
naopak(slova);         // print the word in reverse
return 0;
}

我真的不确定我理解程序应该做什么,但是这里有一个程序,要求您提供一些字符,然后它以反向显示它们:

#include <stdio.h>
void naopak(char slovo[20], int n)
{
printf("here is your caracters in backward n");
for(int i=n; i>=0; i--)
{
printf("%c ",slovo[i]);
}
}
int main()
{
char slova[20];
int n;
printf("number of caracters ?: ");
scanf("%d",&n);
for(int i=0; i<n; i++)
{
printf("give carater %d: ",i);
scanf("%s",&slova[i]);
}
naopak(slova,n);
return 0;
}

使用示例:

字符数?:5
give carater 0: a
give carater 1: b
give carater 2: c
give carater 3: d
give carater 4: e
这是你的字符的反向
e d c ba

输入图片描述

最新更新