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

作者&投稿:熊夏 (若有异议请与网页底部的电邮联系)
~ 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);
更多问题请追问


仁寿县13214447864: 函数中s[]与*s什么区别 -
一芝活血: 一个是指针,一个是数组,指针可以指向数组

仁寿县13214447864: c语言中"*s"这是什么意思 -
一芝活血: 你好,*s表示s是一个指针.*s表示s指针指向的相应变量的值. 比如. int *s; int a = 10; s = &a; *s这个时候指向的是int类型的变量a,*s等于a的值,也就是10.

仁寿县13214447864: 在c语音中*s和&s有什么区别 -
一芝活血: *s(s必须是指针,否则出错)表示取出s地址的内容.&s 表示取出s的地址.

仁寿县13214447864: 请问*S和&S什么区别呢?请大侠指点 -
一芝活血: 在C语言中:1.首先你要了解指针,假设,int s=10;则此时,&s表示的是变量s的地址. 举例 scanf(“%d”,&s);2.若你定义指针变量的时候则,两种方式,一种定义的时候就赋值,int *S=10;另一种,先定义后赋值,int *S ;*S=10;两种情况下...

仁寿县13214447864: c语言中,s–>s是什么意思?和*s可以互用吗? -
一芝活血: 指针引用结构体变量成员的方式(*p).num=p->num 可以看看这个链接的知识点 http://m.biancheng.net/view/246.html

仁寿县13214447864: c语言中,有指针a,s,跪求a=s与*a=*s有什么区别,谢谢 -
一芝活血: a=s是把s指向的变量的地址赋给a即a和s现在指向同一个变量了 *a=*s 是把s指向的变量的值赋给a指向的变量的值 第一个改变了a的地址 第二个改变了a所指向的变量的值 你还是看一下指针的内容吧 好好了解什么是指针.指针中存放的只是地址 通过地址找到变量从而可以找到值 指针就像人的住址 人就像变量的值 通过地址(指针)找到人(变量的值)

仁寿县13214447864: c语言中输出格式里%s和%c的区别 -
一芝活血: %s - 输出字符串,需要字符串首地址(一般都是指针或者数组) %c - 输出字符,需要一个字符变量(0-127的整数也可以)char a[]="china"; printf("%s\n", a); printf("%s\n", a+1); printf("%c\n", a[0]); printf("%c\n", a[1]);

仁寿县13214447864: C语言 ch=*s中的*s是什么意思?主要解释那个* -
一芝活血: ch = *s中,s是一个指针,按题中的意思猜,应该是一个指向字符类型的指针:char *s; 指针可以指向单个字符变量或者字符数组(字符串),如s = "Hello World !"; 要用到这个字符串里的字符时只要ch = *s即可,*s表示取s指针指向的第一个字符,当前应该是'H',若要取第二个字符:ch = *(s+1);

仁寿县13214447864: s为什么没有发生值的变化,请解释一下,还有同样为指指针变量s=和*s=的区别是什么,真的想不明白, -
一芝活血: fun没有改变s的内容.s=指为指针s赋值,*s=指的是为指针s所指向的地址赋值.

仁寿县13214447864: C语言中 *(s+i)和s[i]一样吗 -
一芝活血: 一样的,你记住一条就好了:s+i=&s[i],等式两边同时进行*运算,得到*(s+i)=s[i]

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网