C语言 *s 和s[] 的区别

 我来答
科创17
2022-11-12 · TA获得超过5935个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:179万
展开全部
C语言 *s 和s[] 的区别 *s在定义的时候是定义一个指标变数,使用的时候是取出指标变数s所指向的单元的值,s[] 就是一个数组。其实阵列和指标是有密切联络的,比如s[1]相当于*(s+1)
c语言中%c和%s的区别
%c格式对应的是单个字元。
所以在输入多个字元的时候,它只会读取第一个字元,之后的字元是无法读入完成任务的,那么也就是说,只进行一次读取工作的C函式表达方式。
%C只能输入一个字元。
如果是正确的输入Y,如果是错误的输入N。
0和1的表达。
%S格式对应的是字串。
S通常表示复数,也是多个的意思,那么在字元中表示字串。
关于%S可以输入一串字元的字串。
字元的个数是通过字串来进行设定的。
c语言中%s和%d的区别
%s是输出字串,%d是输出整型资料。
c语言中%c与%s的区别
c语言中%c格式符表示输出的是字元 ,%s格式符表示输出的是字串。

C语言基本构成:

1.资料型别

C的资料型别包括:整型、字元型、实型或浮点型(单精度和双精度)、列举型别、阵列型别、结构体型别、共用体型别、指标型别和空型别。

2.常量与变数

常量其值不可改变,符号常量名通常用大写。

变数是以某识别符号为名字,其值可以改变的量。识别符号是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字元必须为字母或下划线,否则为不合法的变数名。变数在编译时为其分配相应储存单元。

3.阵列

如果一个变数名后面跟着一个有数字的中括号,这个宣告就是阵列宣告。字串也是一种阵列。它们以ASCII的NULL作为阵列的结束。要特别注意的是,方括内的索引值是从0算起的。

4.指标

如果一个变数宣告时在前面使用 * 号,表明这是个指标型变数。换句话说,该变数储存一个地址,而 *(此处特指单目运算子 * ,下同。C语言中另有 双目运算子 *) 则是取内容操作符,意思是取这个记忆体地址里储存的内容。指标是 C 语言区别于其他同时代高阶语言的主要特征之一。

指标不仅可以是变数的地址,还可以是阵列、阵列元素、函式的地址。通过指标作为形式引数可以在函式的呼叫过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。

指标是一把双刃剑,许多操作可以通过指标自然的表达,但是不正确的或者过分的使用指标又会给程式带来大量潜在的错误。

5.字串

C语言的字串其实就是以'\0'字元结尾的char型阵列,使用字元型并不需要引用库,但是使用字串就需要C标准库里面的一些用于对字串进行操作的函式。它们不同于字元阵列。使用这些函式需要引用标头档案<string.h>。

6.档案输入/输出

在C语言中,输入和输出是经由标准库中的一组函式来实现的。在ANSI C中,这些函式被定义在标头档案<stdio.h>;中。

7.标准输入/输出

有三个标准输入/输出是标准I/O库预先定义的:

stdin标准输入

stdout标准输出

stderr输入输出错误
C语言的中gets(s)和scanf("%s",s)的区别
gets(s);是以回车作为字串的结束
scanf("%s",s);是以空格、Tab、回车作为字串的结束。所以,scanf("%s",s);不能输出包含空格的字串。
在C语言中s[i++] 和s[i] i++的区别
用生活中的数学来讲就是
第一种相当于:
x=1+1
第二种相当于:
x=y+1
y=1
两种结果一样,第二种不过是绕了个圈子,把结果赋值过去了
希望能帮到你
c语言中%-s和%s补空格的区别
有'-'是左对齐,在右边补空格,没有'-’是右对齐,在左边补空格
比如 :
#include<stdio.h>
int main(){
char str[100] = "hello";
printf("%-9s", str);
putchar('*');
printf("%9s", str);
return 0;
}
输出的结果是:
hello * hello请按任意键继续. . .
C语言问题:s+=a和s=s+a的区别?谢谢
s+=a比s=s+a执行的效率要高一些,执行效果是一样的。
C语言 关于%s与%c的区别。
%s是输出字串,引数型别是字元指标或者阵列。 char*型。
%c是输出字元,只输出一个字元。 引数型别是char型。

%s是字串的修饰符(string),%c是单个字元的修饰符(character),用法也不尽相同,比如:
char str[] = "This is a string";char chara;printf("%s, %c\n", str, chara);
scanf的用法更是不相同:
char str[30];char chara;scanf("%s", str); str是字串阵列首地址,无需再加取址符。scanf("%c", &chara);
更多问题请追问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式