求指导释这里的循环条件改成什么才能使用scanf进行输入。急

C语言 码拜 8年前 (2017-04-13) 845次浏览
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct{
char ch[20];
}CHAR;
int main(void)
{
CHAR a[20]={0};
char b[20];
int n,i=0,j=0;
do{
printf(“Enter word:”);
scanf(“%s”,&a[i].ch);
// gets(a[i].ch);
i++;
}while(a[i-1].ch[0]);(用这个条件,scanf跳不出循环)
后面省略。
解决方案

20

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct {
    char ch[20];
} CHAR;
int main() {
    CHAR a[20]={0};
    int n,i=0;
    char ln[21];
    while (1) {
        printf("Enter word:");fflush(stdout);
        fgets(ln,21,stdin);
        if (ln[0]=="\n") break;
        sscanf(ln,"%s",&a[i].ch);
        i++;
        if (i>=20) break;
    }
    n=i;
    for (i=0;i<n;i++) printf("%02d [%s]\n",i,a[i].ch);
    return 0;
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求指导释这里的循环条件改成什么才能使用scanf进行输入。急
喜欢 (0)
[1034331897@qq.com]
分享 (0)