当前位置:首页 » 编程语言 » C语言的字符数组的打印
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言的字符数组的打印

发布时间: 2022-05-12 03:22:08

c语言将字符数组存进函数并打印

在c语言中数组在函数中传递是通过指针来进行的。比如
void
print_str(const
char
*str)
{
printf("%s",
str);
}
int
main()
{
print_str("hello
world\n");
return
0;
}

Ⅱ C语言中一般是怎么打印出字符数组的

首先附值的时候为了使空间更准确可以这样
char c[]="wowow";

第二是printf("%s", c); 而不是你的s% 。

Ⅲ C语言:怎么打印二维数组中的字符串呢我尝试%s,%c打出来的都不是

直接用个二重循环,然后再一个个打印,打印的时候可以用%s。

Ⅳ 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语言字符串数组怎么输入和输出呢

在C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是:

puts():输出字符串并自动换行,该函数只能输出字符串。

printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还能输出其他类型的数据。

这两个函数相信大家已经非常熟悉了,这里不妨再演示一下,请看下面的代码:

#include <stdio.h>

int main(){

char str[] = "http://c.biancheng.net";

printf("%s ", str); //通过字符串名字输出

printf("%s ", "http://c.biancheng.net"); //直接输出

puts(str); //通过字符串名字输出

puts("http://c.biancheng.net"); //直接输出

return 0;

}

运行结果:

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

注意,输出字符串时只需要给出名字,不能带后边的[ ],例如,下面的两种写法都是错误的:

printf("%s ", str[]);

puts(str[10]);

(5)C语言的字符数组的打印扩展阅读:

由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

Ⅵ C语言,字符串数组的输出;

getch()这句多余,只是打印而已不需要这个函数接收字符。
printf("%s\n",&ch[0]);
printf("%s\n",&ch[1]);
printf("%s\n",&ch[2]);
这3句打印,第2个传参和printf函数形参类型不一致,函数需要的是char *,而你给的是char*[12]。
运行可以,但会有警告。
你想要传递的是每行的首地址。你不想被警告,可以强转型(char *)&ch[0] 或者&ch[0][0]。

Ⅶ 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语言打印字符串的一部分的方法

你现在要使用的是printf()函数,而不是sprintf()函数。请看下例:
#
include
#
include
void
main
(void);
void
main
(void)
{
char
*
source_str
=
"THIS
IS
THE
SOURCE
STRING"
;
/
*
Use
printfO
to
print
the
first
11
characters
of
source_str.
*
/
printf("First
11
characters:
'
%11.
lls'\n"
,
source_str);
/
*
Use
printf()
to
print
only
the
last
13
characters
of
source
_str.
*
/
printf("Last
13
characters:'%13.13'\n",
source_str+(strlen(source_str)-13));
}
上例的打印输出如下所示:
First
11
characters:
'THIS
IS
THE'
Last
13
characters:'SOURCE
STRING'
在上例中,第一次调用printf()函数时,通过指定参数"%11.11s",迫使printf()函数只打印11个字符的长度,因为源字符串的长度大于11个字符,所以在打印时源字符串将被截掉一部分,只有头11个字符被打印出来。第二次调用printf()函数时,它将源字符串的最后13个字符打印出来,其实现过程为:
(1)用strlen()函数计算出source_str字符串的长度,即strlen(source_str)。
(2)将source_str的长度减去13(13是将要打印的字符数),得出source_str中剩余字符数,且pstrlen(source_str)-13。
(3)将strlen(source_str)-13和source_str的地址相加,得出指向source_str中倒数第13个字符的地址的指针;即source_str+(strlen(source_str)-13)。这个指针就是printf()函数的第二个参数。
(4)通过指定参数“%13.13s”,迫使printf()函数只打印13个字符的长度,其结果实际上就是打印源字符串的最后13个字符。

Ⅸ 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>

void pern(char s[],int k)

{int i;

char c;

if(k==2)

printf("%s ",s);

else

for(i=k;i<=2;i++)

{c=s[k];s[k]=s[i];s[i]=c;

pern(s,k+1);

c=s[k];s[k]=s[i];s[i]=c;

}

}

void print_all_permutations(char *str)

{ pern(str,0);

return;

}

int main(void)

{ char str[256] = "ABC";

print_all_permutations(str);

return 0;

}