c语言字符串数组怎么输入和输出呢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言字符串数组怎么输入和输出呢相关的知识,希望对你有一定的参考价值。

c语言字符串数组怎么输入和输出呢,不要用gets 和 put 用scanf和printf

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

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

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

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

#include <stdio.h>

int main()

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

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

printf("%s\\n", "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\\n", str[]);

puts(str[10]);

扩展资料:

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

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

参考资料来源:百度百科-字符串

参考技术A 使用"%s"模式输出

但是这样做有限制:
char str[255];
用scanf("%s",str);获得输入时,最多容纳254个字符,因为读入操作会在后面加个"\0";
用printf("%s",str); 输出时,数组一定要是用"\0"结束的。
不遵守以上规则会产生数组越界,导致不可知的错误。本回答被提问者采纳
参考技术B scanf("%s",str); //输入字符串str
printf("%s",str); // 输出字符串str
参考技术C 不要用gets 和 put 用scanf和printf

用文件函数吧fscanf,fprintf
还有sscanf和sprintf
参考技术D scanf,printf的话用循环语句输入和输出

在c语言中怎么输入一组数字存储在数组里

从键盘输入100个数(调试程序时可先静态赋初值),并存放到一个数组中。用户输入想要查询的数,从这100个数中用户需要找的数,并把它输出(要求输出详细信息包括:用户输入的数字,在数组中的个数及位置,查询此数所花时间等),若没找到则输出"notfound!"

这是原题,具体的C程序是什么啊?急求!!!!

#define N 100
int main()

int iarray[100];
int num;

for(int i = 0; i < N; i++)

iarray[i] = i*2;


printf("请输入一个数字:");
scanf("%d", &num);

int first = 0;
int last = N-1;
int half = 0;
bool bfind = false;

time_t start, end;
start = time(NULL);

do

half = (first+last)/2;;
if( num == iarray[half])

bfind = true;
break;

else if( num > iarray[half])

first = half + 1;

else

last = half - 1;


while( first <= last );

end = time(NULL);

if(bfind)

printf("num = %d,pos = %d\n",num, half);

else

printf("not found!\n");

printf("endtime = %d, starttime = %d\n", end, start);

printf("使用的时间为:%.16f\n", (double)(end - start)/CLOCKS_PER_SEC);

system("pause");
return 1;
参考技术A #define
N
100
int
main()

int
iarray[100];
int
num;
for(int
i
=
0;
i
<
N;
i++)

iarray[i]
=
i*2;

printf("请输入一个数字:");
scanf("%d",
&num);
int
first
=
0;
int
last
=
N-1;
int
half
=
0;
bool
bfind
=
false;
time_t
start,
end;
start
=
time(NULL);
do

half
=
(first+last)/2;;
if(
num
==
iarray[half])

bfind
=
true;
break;

else
if(
num
>
iarray[half])

first
=
half
+
1;

else

last
=
half
-
1;


while(
first
<=
last
);
end
=
time(NULL);
if(bfind)

printf("num
=
%d,pos
=
%d\n",num,
half);

else

printf("not
found!\n");

printf("endtime
=
%d,
starttime
=
%d\n",
end,
start);
printf("使用的时间为:%.16f\n",
(double)(end
-
start)/CLOCKS_PER_SEC);
system("pause");
return
1;

以上是关于c语言字符串数组怎么输入和输出呢的主要内容,如果未能解决你的问题,请参考以下文章

c语言将字符输入至数组为啥不执行呢

c语言如果用字符串类型输出字符数组,字符数组最后一个是0,那么为啥会出现乱码

c++,cin/cout 如何输入输出字符串数组

C语言怎么定义多个数组储存字符串,又要求逐个输入?

在c语言中怎么输入一组数字存储在数组里

二维字符数组如何输入和输出