C语言 我试图创建一个字符数组,其中每行是一个不同的单词,但是我的do-while循环中的“\n”不起作用,为什么?

acruukt9  于 2023-10-16  发布在  其他
关注(0)|答案(1)|浏览(71)

我有一个大学作业,我必须创建两个矩阵。第一个工作正常,但这个不是在不同的行上记录每个单词。我已经输入了NULL,“\0”和“\n”,但没有一个有效。另外,在VSCode编辑器中有这样的消息:“指针和整数之间的比较(第64行,第30列)”。
我尝试创建一个矩阵,每行一个单词,这个矩阵将用于第一个矩阵中的单词搜索(幸运的是,它工作正常)。为此,我在for循环中创建了一个do-while循环,并在scanf中放入“\n”,试图使程序在用户按下ENTER后跳转到下一行。所以伙计们,我需要你们的帮助来理解我的代码有什么问题。
`

#include <stdio.h>
#include <stdlib.h>
#define CHAR 20
int main(){
    int L, C, P, p=0;
    scanf("%d %d %d ", &L, &C, &P);
    char letras[MAX][MAX]; /*a matriz letras*/
    char palavras[P][CHAR];
    for(int p=0; p<P; p++){
        int c=0;
        do{
            scanf("%c", &palavras[p][c]);
            c++;
        }while(palavras[p][c]!= '\n');
    }
     return 0;
}

`
enter image description here

62lalag4

62lalag41#

"\n"返回指向两个字符中第一个的指针。'\n'(换行字符)。

相关问题