若有以下定义: char s[10]=”telephone”,*ps=s; 则不能代表字符h的表达式是__________。

作者&投稿:宇利 (若有异议请与网页底部的电邮联系)
若有以下定义:char s[20]="programming",*ps=s;则不能代表字符0的表达式是哪一个?~

程序如下:
#include
using namespace std;
int main(){
char s[20]="programming",*ps=s;
cout<<ps+2<<" "<<s[2]<<" "<<ps[2]<<" "<<*(ps+2)<<endl;
system("pause");}
程序输出结果:ogramming o o o
char用于C或C++中定义字符型变量,只占一个字节,取值范围为 -128 ~ +127(-2^7~2^7-1)。C语言中如int、long、short等不指定signed或unsigned时都默认为signed,但char在标准中不指定为signed或unsigned,编译器可以编译为带符号的,也可以编译为不带符号的。



扩展资料:
在excel中char函数用于返回对应发于数字代码的字符。其用法:=char(number)
其中,参数number为转换的字符代码,介于0~255之间,char占一个字节,也就是8个二进制位,但它表示的是有符号的类型,所以表示的范围是-128~127;uchar表示无符号的类型,所以表示的范围是0~255。

先看A选项,ps是个char型的指针,那(ps+3)这个整体也就是一个指针,其实指向的内容就是数组元素s[3]。
B选项:s[3] 你懂的! 就是数组的元素
C选项:因为s是数组的名字,它实际就是个指针,指向数组的首地址,然后将它赋值给ps,那
ps[3]就是等价于s[3];
D选项:ps+=3;就是等价于ps=ps+3;那再通过* 取出ps中的内容,就等价于s[3]了;

A代表:ps这个地址增加5,然后如果你调用不加printf("%c\r\n",*(ps+5));//才代表取用这个地址保存的值
D代表:ps偏移5个字节,然后取用这个地址保存的值

A等效于&s[5]
D等效于s[5]

看我百度文库里,找找看吧,应该有的


明山区19463466215: C语言题:31. 若有以下定义:char s[10]={'a','b','c','0','\0','2','\x32','\0'};执行语句p -
臧码舒眠: strlen(s) 等于 4 sizeof(s) 等于 10 printf("%s",s); puts(s); 输出abc printf("%s",&s[5]); 输出 22 for (i=0;i<10;i++) printf("%c ",s[i]); 输出 a b c 0 2 2 for (i=0;i<10;i++) printf("%d ",s[i]); 输出 97 98 99 48 0 50 50 0 0 0 for (i=0;i<10;i++) printf("%x ",s[i]); 输出 61 62 63 30 0 32 32 0 0 0

明山区19463466215: 若有如下定义: char s[10]= "string"; 则下述函数调用中,哪项是错误的? A. -
臧码舒眠: puts()函数的原型为: int puts(char *string); C puts( puts("Fom") ) 中 puts("Fom") 会返回一个非负数,再执行puts()时,会出错!B stract (s,strcpy (s1,"s")); 这里的s1没有指出是什么变量,如果是个合法的字符数组或是指针,则这个是正确的

明山区19463466215: C语言.为什么选B? 1. 若有以下定义:char s[10]={'a','b','c','0','\0','2','\x32','\0'};执行语句printf(“%d”,strlen(s));的结果是____... -
臧码舒眠:[选项] A. )3 B. )4 C. )8 D. )10

明山区19463466215: C语言选择题 如果有定义如下:char s[10]=”china”, *p=s, *q; 则下列选项中正确的操作是 . -
臧码舒眠:[选项] A. s++ B. p>q C. p=q; D. q=p+3;

明山区19463466215: 若有定义语句:char s[10]="1234567\0\0",则strlen(s)的值是?到底strlen 函数计数时要不要加...若有定义语句:char s[10]="1234567\0\0",则strlen(s)的... -
臧码舒眠:[答案] strlen函数在计算时遇到第一个\0结束,返回数值.所以返回7 这和sizeof(s)=10不同,它是计算所占内存多少.

明山区19463466215: 若已定义char s[10];则在下面表达式中不表示s[1]的地址是 .A)s+1 B)s++ C)&s[0]+1 D)&s[1]若已定义char s[10];则在下面表达式中不表示s[1]的地址是 .A)s+1 ... -
臧码舒眠:[答案] b错了因为数组名是常量不能自加 Cs[0]的地址再加一不就是s[1]的地址么?&s[0]+1=&s[1]

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