【发布时间】:2018-09-15 22:54:28
【问题描述】:
所以我一直在寻找并尝试找到一个简单的解决方案来解决这个问题,它不涉及在 c++ 中很常见的“cin”、“cout”问题的解决方案。我想要完成的是从键盘扫描一个条目,然后以相反的顺序打印它。我认为我的语法有问题,但我不知道问题出在哪里。
使用“abc”作为输入 5 次后得到的输出是这样的:
//Start of input
Enter a string:
abc
abc
abc
abc
abc
╠
cba
cba
cba
cba
cb
Enter a string:
//End of output
这是我的代码。
#include "stdafx.h"
#include <stdio.h>
#include <string>
#define SIZE 20
int main()
{
char a[SIZE];
int i, j, k = 0, pass;
char hold = ' ';
for (i = 1; i != 0; i++)
{
printf("Enter a string: \n");
for (i = 0; i < SIZE; i++)
{
scanf_s("%c", &a[i]);
k++;
}
for (j = k; j > 0; j--)
{
printf("%c", a[j]);
}
printf("\n");
}
return 0;
}
【问题讨论】:
-
-
您要求简单的解决方案,但拒绝使用简单的解决方案(
std::string和std::cin)。请解释为什么您希望避免将来自cin的输入读入string,然后使用内置库将其反转?你觉得这是你需要做很多的事情,还是你的工作不允许使用标准库? -
是否有使用 C++ 标签而不是 C 的原因?不使用 C++ 库的原因是什么?
-
@Dai 明白了,我会做出相应的改变。
-
@JiveDadson 我很抱歉。我是新手,所以下次我会解释我的教授的规定。我不是故意引起任何混乱
标签: c arrays char printf scanf