C 数组循环错误
C Array Looping Error
我应该写一个简单的 C 程序来读取一个整数并循环 n 次来处理字符串,但是如果我使用 scanf 整数,第一个循环会自动传递一个空字符串,但是如果我使用循环工作正常的常数。有人请向我解释这是怎么回事。
#include <stdio.h>
#define MAX 80
int main(){
char sentence[MAX];
int n, i;
scanf("%d", &n);
for(i=0; i<3; i++){//it loops with empty string automatically if I replace 3 with n
gets(sentence);
printf("%s\n", sentence);
}
}
试试这个代码
#include<stdio.h>
#include<conio.h>
#define MAX 80
void main()
{
char sentence[MAX];
int n,i;
clrscr();
scanf("%d",&n);
for(i=0;i<n;i++)
scanf(" %99[^\n]",sentence);
printf("\n%s\n",sentence);
getch();
}
我应该写一个简单的 C 程序来读取一个整数并循环 n 次来处理字符串,但是如果我使用 scanf 整数,第一个循环会自动传递一个空字符串,但是如果我使用循环工作正常的常数。有人请向我解释这是怎么回事。
#include <stdio.h>
#define MAX 80
int main(){
char sentence[MAX];
int n, i;
scanf("%d", &n);
for(i=0; i<3; i++){//it loops with empty string automatically if I replace 3 with n
gets(sentence);
printf("%s\n", sentence);
}
}
试试这个代码
#include<stdio.h>
#include<conio.h>
#define MAX 80
void main()
{
char sentence[MAX];
int n,i;
clrscr();
scanf("%d",&n);
for(i=0;i<n;i++)
scanf(" %99[^\n]",sentence);
printf("\n%s\n",sentence);
getch();
}