关于何时使用getchar()接收回车
根据经验来说
一般在连续调用scanf()函数和gets()函数之间加入getchar()接收回车
对于二维数组传参数
推荐使用 如下
比如定义 二维数组
char a[100][100];
那么传参的时候可以用下面的形式
drop(int a[]);
当使用上面的形式的时候,在函数体内直接就可以使用如a[10],而非二级嵌套结构a[][10];
如下例子
标准输入
2
ab*cdef
5
ABCDEF
2
标准输出
ab*cdfg
ABCEFG
# include <stdio.h>
# include <string.h>
void drop(char a[],int i);
int main()
{
int i,j,k;
char a[100][100]={0};
int b[100]={0};
scanf("%d",&i);
for(j=0;j<i;j++)
{
getchar();
gets(a[j]);
scanf("%d",&b[j]);
drop(a[j],b[j]);
}
for(k=0;k<i;k++)
puts(a[k]);
return 0;
}
void drop(char a[],int i)
{
int l=strlen(a);
int j;
for(j=i;j<l-1;j++)
{
a[j]=a[j+1];
}
a[l-1]='\0';
}