gpt4 book ai didi

c - C中字符数组输入输出问题

转载 作者:行者123 更新时间:2023-12-02 00:33:40 24 4
gpt4 key购买 nike

我写了下面的代码来读取一个字符数组并打印它。

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void read_array(char a[],int n);
void print_array(char a[],int n);
int main(void)
{
char a[100];
int n;
printf("\nEnter n:");
scanf("%d",&n);
printf("\nEnter the characters:");
read_array(a,n);
printf("\nThe array now is: ");
print_array(a,n);
getch();
return 0;
}

void read_array(char a[],int n)
{
int i;
for(i=0;i<n;i++)
scanf("%c",&a[i]);

}
void print_array(char a[],int n)
{
int i;
for(i=0;i<n;i++)
printf("a[%d]=%c\n",i,a[i]);
}

输入:

Enter n:15  Enter the characters:xxxxx     xxxxx  

输出:

The array now is:  a[0]=    a[1]=x    a[2]=x    a[3]=x    a[4]=x    a[5]=x    a[6]=    a[7]=    a[8]=    a[10]=    a[11]=x    a[12]=x   a[13]=x    a[14]=x    

在我输入的 a[5]a[9] 中,空白 字符。那么输出 a[0]=(a blank) 是怎么来的呢?

最佳答案

您正在阅读的第一个字符是您输入 15 时输入的换行符。使用 fgets()sscanf() - 你会更快乐。

关于c - C中字符数组输入输出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5556622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com