#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跳不出循环)
后面省略。
#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;
}