【发布时间】:2020-04-20 07:48:34
【问题描述】:
我是一个新手程序员。我有一个任务,对此我有一些麻烦。首先我的任务是:
“假设您从键盘(您可能认为这是默认输入设备)逐个字符地扫描土耳其语输入文本,直到按下“CTRL-D”。您也应该跳过标点符号作为空白字符。每当扫描过程完成时,您的程序将显示字母和数字的频率。您需要讨论数据结构以及流程图解决方案,并与您的代码一起提交。"
我做了一些研究,发现CTRL + D命令对应EOF。我写了我的代码,但它没有按我的意愿工作。这是我的代码。
#include <stdio.h>
#include "stdlib.h"
#include <locale.h>
int main()
{
setlocale(LC_ALL, "Turkish");
char message[1000] = { ' ' };
char ch;
int i = 0;
printf("Please enter your message: ");
while (ch = getchar() != EOF )
{
message[i] = ch;
i++;
}
for (i; i >= 0; i--)
{
printf("%c", message[i]);
}
printf("\n\n");
system("PAUSE");
return 0;
}
当我运行它时,我写了一些东西,然后按 ctrl + d,但正如你在图片中看到的那样,没有任何反应。它只是写了^ D。谢谢你的帮助。
【问题讨论】: