c语言中输出字符串
❶ c语言中怎么输出字符串中的某个字符
错误在于你判断了第一个非@字符时就已经输出没有字符@退出循环了所以不会检测@了。改成下面就行了:
#include
#include
int
main()
{
char
sh[100],n=0;
gets(sh);
for(int
i=0;sh[i];i
)
if(sh[i]=='@')
n
;
if(n==0)
printf("没有字符
@\n");
else
printf("有字符
@\n");
}
❷ C语言:字符串输入与输出
#include
<stdio.h>
int
main()
{
char
str1[21]
=
{0},
str2[21]
=
{0},
str3[21]
=
{0};
//
getchar实现
printf("请输入一个长度不超过20的字符串(getchar实现):");
int
c
=
0,
i
=
0;
while
((c
=
getchar())
!=
'\n')
{
str1[i++]
=
c;
}
//
scanf实现
printf("请输入一个长度不超过20的字符串(scanf实现):");
scanf("%s",
str2);
getchar();
//
取走缓冲区的换行符
//
gets实现
printf("请输入一个长度不超过20的字符串(gets实现):");
gets(str3);
//
putchar输出
printf("putchar输出:");
i
=
0;
while
(str1[i]
!=
'\0')
{
putchar(str1[i++]);
}
//
printf输出
printf("\nprintf输出:");
printf("%s\n",
str2);
//
puts输出
printf("puts输出:");
puts(str3);
printf("\n");
return
0;
}
问题答案:
1.
getchar可以根据用户自定义的字符结束输入,不受换行符和空白字符的限制
2.
scanf不能输入空格,另外两个可以
3.
在保证数据不会超出内存范围的情况下,用gets和puts最方便
不存在空白字符的情况下,用scanf最方便
如果既有空白字符,又可能越界的情况下,getchar最方便
❸ C语言上中怎么样直接输入输出一个字符串
C语言中字符串的输入和输出主要有两种方式:
输入使用:scanf("%s",a);对应的输出使用:printf("%s ",a);
输入使用:gets(b);对应的输出使用:puts(b);
❹ 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]);
(4)c语言中输出字符串扩展阅读:
由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。
❺ C语言输入输出字符串
在C语言中,输入输出字符串有以下两种方式:
1
用scanf/printf输入输出。
scanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也在其支持范围内。
格式化字符为%s。
定义
char
str[100];
输入
scanf("%s",str);
输出
printf("%s",str);
2
C语言还支持专门的字符串输入输出函数:gets/puts。
gets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。
puts的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。
定义
char
str[100];
输入
gets(str);
输出
puts(str);
❻ C语言printf函数中,%C和%s都可以输出字符串
这句话是不对的,因为%c只能够输出单个字符,%s表示的是输出字符串,所以说这句话是错误的。
printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为:printf(“<式样化字符串>”,<参数表>);。
其中式样化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是式样化规定字符。以“%”开端,后跟一个或几个规定字符,用来确定输出内容式样。
(6)c语言中输出字符串扩展阅读:
printf函数注意:
函数printf从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所以我们看见的结果是,从右边开始处理的。
格式:
1、可以在“%”和字母之间插进数字表示最大场宽。
例如:%3d表示输出3位整型数,不够3位右对齐。
%9.2f表示输出场宽为9的浮点数,其中小数位为2,整数位为6。
小数点占一位,不够9位右对齐。
%8s表示输出8个字符的字符串,不够8个字符右对齐。
如果字符串的长度、或整型数位数超过说明的场宽,将按其实际长度输出。
但对浮点数,若整数部分位数超过了说明的整数位宽度,将按实际整数位输出。
若小数部分位数超过了说明的小数位宽度,则按说明的宽度以四舍五入输出。
另外,若想在输出值前加一些0,就应在场宽项前加个0。
例如:%04d表示在输出一个小于4位的数值时,将在前面补0使其总宽度为4位。
如果用非浮点数表示字符或整型量的输出格式,小数点后的数字代表最大宽度,
小数点前的数字代表最小宽度。
例如:%6.9s表示显示一个长度不小于6且不大于9的字符串。若大于9,则第9个字符以后的内容将被删除。
2、可以在“%”和字母之间加小写字母l,表示输出的是长型数。
例如:%ld表示输出long整数
%lf表示输出double浮点数
3、可以控制输出左对齐或右对齐,即在“%”和字母之间加入一个“-”号可说明输出为左对齐, 否则为右对齐。
参考资料来源:网络-printf
❼ c语言中如何输入输出字符串
在<string.h>头文件中用字符串处理函数输入和输出,gest用来输入,puts用来输出。
字符串输入函数gets,从键盘键入以回车结束的字符串放入字符数组中,并自动加’ '。输入串长度应小于字符数组维数,字符串中可以包含空格。
字符串输出函数puts,向显示器输出字符串(输出完,自动换行,即用' '替'