镜水不emo 2022-09-25 19:31 采纳率: 100%
浏览 39
已结题

关于c语言指针数组问题 输出烫(中文字符) -倒序输出单词的问题

关于c语言指针数组的题目输出烫tangtang(中文字符)

今天在写c primer plus第十一章11.13的时候遇到了一道习题 ,一直没有解决。(环境是 VS2022)

__13.编写一个程序,反序显示命令行参数的单词。例如,命令行参数是
see you later,该程序应打印later you see。

然后我写的代码如下
(这里主要是想要用输入输出来实现,没有用命令行参数orz)

#define SIZE_13_1 50 
#define SIZE_13_2 10
int get_words(char(*string)[SIZE_13_2], char** str, int n) {
    int i = 0,j = 0 ;
    bool inword = false;
    char ch;
    printf("Please enter no more than 49 words and each word is no more than 9 characters:\n");
    while ((ch = getchar()) != EOF && i < n) {
        if (!isspace(ch) && !inword) {
            *(*(string + i) + j) = ch;
            j++;
            inword = true;
        }
        else if (!isspace(ch) && inword) {
            *(*(string + i) + j) = ch;
            j++;
        }
        else if (isspace(ch) && inword) {
            *(*(string + i) + j) = '\0';
            str[i] = string[i];
            i++;
            inword = false;
        }
    }
    str[i] = '\0';
    return i -1;
}

//输出words时候 在前面出现 烫tangtang
int ex1113(void) {
    char string[SIZE_13_1][SIZE_13_2];
    char* str[SIZE_13_1];
    int n;
    int j;
    n = get_words(string,str,SIZE_13_1);
    for(j=n;j>=0;j--)
        printf(str[j]);
    putchar('\n');
}

int main(void) {
    ex1113();
    return 0;
}

运行结果及报错内容

img


在每一个单词的前面又出现了烫tangtang,而且输出第一个单词的第一个字母也会被汉字代替
在输入很多个单词的时候,还会有一些单词消失

请教各位orz 应该怎么改一下可以实现单词的倒序输出啊 T T

  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 10月4日
      • 已采纳回答 9月26日
      • 创建了问题 9月25日

      悬赏问题

      • ¥30 AndroidBench&eMMC内存测试速度&Android
      • ¥15 W10 文件共享失败 怎么解决
      • ¥20 b站私信完整导出的方法
      • ¥15 边界图中的x、y轴解释
      • ¥30 如何用matlab求解复杂方程
      • ¥15 VUE TS中怎么调用第三方js
      • ¥15 Activiti如何将值传入textValue
      • ¥20 在linux里安装lummps时 在make mpi里找不到rpc
      • ¥25 python先到先得调度和轮询调度
      • ¥15 SDK Manager闪退