我想要一个程序,用户将在其中提供三个名称,并将在结果中打印出来。
我声明了一个字符串“name”并且还将'name'变量声明为数组(或者我想要)
但是当我运行程序时,我得到的输出很奇怪 它只接受一个名字,我认为它与数组声明有关,所以我改变了'char name [3] [20];' 'char name [20] [3];'但没有改变......
请帮帮我..
程序:
#include<stdio.h>
#include<conio.h>
struct variable
{
char name[3][20];
}v;
void main()
{
int i=0,j=0;
clrscr();
printf("Enter Three names \n");
for(i=0;i<3;i++)
{
scanf("%c",&v.name[i]);
}
for(j=0;j<3;j++)
{
printf("%c\t",v.name[i]);
}
getch();
}
输出图像: - &gt; here
答案 0 :(得分:0)
%c是char数据类型的格式字符串 要打印字符串,您需要使用%s格式字符串
# include <stdio.h>
int main(){
char name [3][20];
printf("Enter 3 names\n");
for(int i = 0; i < 3; i++){
scanf("%s", name[i]);
}
for(int i = 0; i < 3; i++){
printf("%s\n", name[i]);
}
return 0;
}
答案 1 :(得分:-1)
%s
代替%c
,(第一个使用字符串,第二个使用单个字符)。printf("%c\t",v.name[i]);
更改为printf("%c\t",v.name[j]);
,否则您的循环将无法通过所有名称,因此请将其打印出来。