当前位置:首页 » 编程语言 » c语言指针字符串输出

c语言指针字符串输出

发布时间: 2022-05-15 11:30:02

c语言 字符串 指针 输出

答案是D,输出结果是CD
原因: 因为字符串以\0为结束符,所以*s实际上是abcd这四个字符。s+2就是加两个元素的地址,即从c字符开始输出。 所以答案是D

② c语言指针字符串求解答以下程序怎么输出这个看不懂

p = s;指针p指向字符数组s;指针变量p存储的值就是字符数组首地址,也就是字符'A'的地址,*p就是字符'A';
q = s+6; 指针q指向字符数组的最后一个字符;指针变量q存储的是字符数组最后一个元素的地址,也就是字符'G'的地址,*q 就是字符'G';

p的值肯定小于q的值,进入循环;
ch = *p++;*p就是字符'A';赋值给ch的也就是字符'A';然后执行p++;p指向字符数组的第二个元素;
*p = *q--; p此时指向的是字符数组的第二个元素;*q就是字符数组的最后一个字符'G',把'G'赋值给字符数组的第二个元素;然后执行q--;q指向字符数组的倒数第二个元素;
*q = ch;此时q指向了字符数组的倒数第二个元素,也就是个倒数第二个元素赋值'A';
再次循环,
p的指向相当于递增,q的指向相当于递减;直到p和q的指向相邻时while的条件为假,退出循环;

③ c语言中如何输入输出字符串

在<string.h>头文件中用字符串处理函数输入和输出,gest用来输入,puts用来输出。

字符串输入函数gets,从键盘键入以回车结束的字符串放入字符数组中,并自动加’'。输入串长度应小于字符数组维数,字符串中可以包含空格。

字符串输出函数puts,向显示器输出字符串(输出完,自动换行,即用' '替'')。字符数组必须以''结束。

示例代码如下:

#include<string.h>

int main()

{

char str[40];

printf("请输入字符串");

gets(str);

printf("请输出字符串");

puts(str);

system("pause");

return 0;

}

(3)c语言指针字符串输出扩展阅读

在C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作。

流式文件操作,这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdio.h中定义如下:

typedef struct {

int level; /* fill/empty level of buffer */

unsigned flags; /* File status flags */

char fd; /* File descriptor */

unsigned char hold; /* Ungetc char if no buffer */

int bsize; /* Buffer size */

unsigned char _FAR *buffer; /* Data transfer buffer */

unsigned char _FAR *curp; /* Current active pointer */

unsigned istemp; /* Temporary file indicator */

short token; /* Used for validity checking */

} FILE; /* This is the FILE object */

直接I/O文件操作,这是C提供的另一种文件操作,它是通过直接存/取文件来完成对文件的处理,此类文件操作常用的函数及其所用的一些符号在io.h和 fcntl.h中定义,在使用时要加入相应的头文件。

④ 一个c语言指针输出字符串的问题

不是*t=ch;而是t=&ch; t还是个野指针,直接操作*t是非常不安全的
#include<stdio.h>
int main()
{
char *ch="asfsdfasd",**t;
t=&ch; //不是*t=ch;而是t=&ch;
printf("%s",*t);
return 0;
}
如果一定要*t=ch,就要先给t分配空间:
#include<stdio.h>
#include <malloc.h>
int main()
{
char *ch = "asfsdfasd", **t;
t = (char**)malloc(sizeof(char*)); //给t分配一个char*的空间
*t = ch;
printf("%s", *t);
free(t);
return 0;
}

⑤ c语言中请问用指针怎么倒序输出字母汉字混合字符串

仅仅是字母的倒序输出很容易。如abcde直接倒序edcba.
如果包含汉字就有点麻烦。
如果你用的VC
6.0.字符串是ASCII码(不是unicode,也称为多字节)。汉字占两个字节,对这2个字节不能颠倒。
否则是乱码。当然,也有一些解决方案。因为字母都为正数,而汉字的字节是负数。由此
可以判断什么时候可以倒序。
如果是vs
2008或类似平台字符串是且字符串是宽字节(unicode)。问题也好处理。如果是多字节,
按上述方法处理。

⑥ C语言,如何输出两个指针间的字符串

有三种方法可供使用。

为方便描述,以下设定两个指针分别为char *类型的p1和p2,其中,p1<p2。


1 按字节输出。
使用putchar从*p1一直输出到*p2。样例代码如下:

while(p1<p2)
{
putchar(*p1++);
}



2 将p2位置作为字符串结束点,临时赋值为0,并在输出后恢复。

示例代码如下:
chart=*p2;//临时变量
*p2=''//赋值结束符
printf("%s",p1);//输出
*p2=t;//恢复



3 开辟一段内存,将需要输出的内容复制进去,然后再输出,不改变原本的p1,p2值。
示例代码如下:
char*t;
intlen=p2-p1;
t=(char*)malloc(len+1);//注意留一个空间给结束符
memcpy(t,p1mlen);
t[len]=''
printf("%s",t);
free(t);
t=NULL;

⑦ c语言中将字符串用指针数组输入输出..

首先确定是字符指针数组还是字符数组指针,前者是一个数组,数组每个元素都是一个字符指针,后者是一个指向字符数组的指针。
若是指向字符数组的指针,则很简单,使用scanf("%s",
str);函数获取输入的字符串,然后使用字符串拷贝函数strcpy(stc,
dest);将获取的字符串拷贝到指定地址的字符指针数组中,拷贝过程中注意检查访问数组是否越界,若越界,则需要在字符数组的最后一个元素赋值为结束符'\0'。
若是赋值
字符指针数组,那么就是对数组中的某一个元素指向的字符数组进行拷贝赋值,其过程与前者相同。

⑧ c语言用指针输出字符

printf("%c\n", *(string+7));会输出一个字符g,而printf("%s\n", (string+7));会输出girl.。
printf("%s\n", (string+15));会发生数组越界访问错误。

⑨ 为什么c语言用指针输出字符串不用加*号

为什么c语言用指针输出字符串不用加*号?因为char*STR定义了一个char*字符指针STR,而STR指向了ILOVECHINA中的第一个字符I。
在cout流中有一个复制循环,它是一个具有数百个输出STR点的字符串,在这个字符串中,STR被赋值给临时指针,以便一个接一个地输出。
然后*STR是一个字符,也就是I*是一个derecration,也就是STR指向的那个字符,所以*STR就是I这个不能被赋值或移位所以它不能被打印出来。
(9)c语言指针字符串输出扩展阅读:
关于字符串指针
1.字符数组中存储一个度字符串
Char字符串[]="LinuxC";
Printf("%s\n",字符串);
字符串是一个字符数组的名称,它也是应答字符数组的第一个地址。
2.使用字符串指针指向一个字符串
如果你不想定义一个字符数组,你可以用一个指针指向一个字符串,称为“字符串指针”,例如:
Char*p="LinuxC";
Printf(“%s\n”,p);
“LinuxC”是一个字符串常量。字符串常量的C语言:在内存中打开一个字符数组来存储字符串常量,并将打开的字符数组的第一个地址保存到p。

热点内容
mmm源码 发布:2024-05-04 09:57:29 浏览:261
清除后台缓存的软件 发布:2024-05-04 09:57:22 浏览:832
梦幻西游有什么脚本 发布:2024-05-04 09:33:43 浏览:717
I编程视频 发布:2024-05-04 09:33:31 浏览:378
java客户端程序 发布:2024-05-04 08:08:11 浏览:939
腾讯视频账号和密码哪里看 发布:2024-05-04 08:08:11 浏览:451
专网数据存储安全问题分析 发布:2024-05-04 07:33:28 浏览:131
如何获得打印机无线密码 发布:2024-05-04 06:44:59 浏览:418
上古诸神录哪里改密码 发布:2024-05-04 06:43:55 浏览:263
灌篮高手手游自动盖帽脚本 发布:2024-05-04 06:42:31 浏览:425