‘壹’ c语言,如何向一个字符数组输入字符,并打印
int c,i; //c应该改为 char c
while((c=getchar())!=EOF) //c是字符变量,EOF是字符串,不能把字符串赋给字符变量
也可以用scanf();输入。不过要求输入的时候字母间不能加空格。
例:scanf("%s",s); //s是数组名,s前不必加&,因为数组名就是该数组的首地址。
最好的字符串输入输出形式还是
gets(数组名); //输入
puts(数组名); //输出
不过一般用gets();前都要加上
fflush(stdin);清理键盘缓冲,因为可能程序中有残留的回车等。
‘贰’ C语言数组打印问题
修改一下字符数组的输出方法:
代码如下:
#include<stdio.h>
main()
{
char c[10] = {'c','h','i','n','a'};
int i;
for(i=0; i<10; i++)
printf("%c",c[i]);
return 0;
}
‘叁’ C语言中,如何正确打印字符串数组
试一试这种方式:
charname[10][100]={};
intictr;
for(ictr=1;ictr<=10;ictr++)
{
printf(" Number%dnameis:",ictr);
scanf("%s",name[ictr-1]);
}
printf("Names:");
for(ictr=0;ictr<10;ictr++)
{
printf("%s ",name[ictr]);
}
‘肆’ c语言中如何让指针数组中的值输出
让指针指着数组中的每一个数地址
然后for循环一次往下指
其中printf为循环体。就
OK了
‘伍’ C语言打印数组的内容
%x是将一个整数按照16进制数字打印。而a是一个字符数组的首地址,如果按照%x来打印的话,那就是打印a所在的地址,并不是打印他的内容,所以%010x是没有办法打印出楼主需要的结果的。
楼主想打印的是的数组里面的内容的话,那就只能遍历打印里面的内容了。
char* format="%08x-%02x%02x%02x%02x%02x";
memset(b,0,100);
sprintf(b,format,d,a[0],a[1],a[2],a[3],a[4]);这个样子就可以了,将数组里面的内容按照16进制打印,每一个占用2个字符就ok啦。
‘陆’ 关于c语言中打印数组问题,求大神解答
#include<stdio.h>
#include<malloc.h>
voidfoo()
{
int**p=NULL;
intn,i,j,k=1,line,row;
printf("请输入矩阵的行数:");
scanf("%d",&n);
if((p=(int**)malloc(sizeof(int**)*n))==NULL)//根据行数分配内存,分配双指针
{
printf("不能分配内存!!! ");
return;
}
for(i=0;i<n;i++)
{
if((p[i]=(int*)malloc(sizeof(int*)*n))==NULL)//为每一行分配指针,每一行有n个数
{
printf("不能分配内存!!! ");
return;
}
}
//螺旋矩阵思想是:随着k的增大,矩阵最外围先被幅值,最外面一圈赋值完成后,再向里面一层赋值,如此循环
//所以可以按照这个思想,每转一圈为一个大循环,一直循环下去,直至k<=n*n;
for(i=0,j=0;k<=n*n;i++,j++)
{
for(row=j;row<n-j;row++)
{
p[i][row]=k++;
}
for(line=i+1;line<n-i;line++)
{
p[line][n-j-1]=k++;
}
for(row=n-j-2;row>=j;row--)
{
p[n-i-1][row]=k++;
}
for(line=n-i-2;line>i;line--)
{
p[line][j]=k++;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%-6d",p[i][j]);
}
printf(" ");
}
for(i=0;i<n;i++)//分别释放每一行的指针
{
free(p[i]);
p[i]=NULL;
}
free(p);//释放双指针
p=NULL;
}
intmain()
{
foo();
return0;
}
‘柒’ C语言打印数组的内容
有没有打印值,如果有打印出数组的值,问题出在getchar();这个函数;
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.