当前位置:首页 » 编程语言 » c语言指针字符串题库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言指针字符串题库

发布时间: 2022-05-04 08:25:03

c语言指针字符串基础问题

char *p="adsasa";
//此语句定义了一个指向char 类型变量的指针变量p,同时将字符串"adsasa"的首元素的地址赋予指针变量p
指针变量 是用来存放其它变量地址的变量,此处指针变量p 中存放的的字符串中首元素的地址,而不是p代表字符串.
printf() 函数中的%s 要求对应的数据类型为 char *,(请参考printf()函数的详细参考资料 ,书上网上应该都能找到),希望能帮到你.

❷ c语言程序设计 指针和字符串的代码题

摘要 #include//头文件

❸ C语言指针编程题,求助大佬

#include <stdio.h>

#include <string.h>

#define MAXS 100

char *str_cat( char *s, char *t );

int main()

{

char *p;

char str1[MAXS+MAXS] = {''}, str2[MAXS] = {''};

scanf("%s%s", str1, str2);

printf("%s ",str1);

p = str_cat(str1, str2);

printf("%s %s ", str2, p);

return 0;

}

char *str_cat (char *str1, char *str2) {

char *p=str1;

while(*(p++));

p--;

while(*str2)*(p++)=*(str2++);

*p=*str2;

return str1;

}

❹ 一道C语言关于字符串和指针的选择题

A.
str1指向的是12345+'\0'这6个字节
str2指向的是abcdef+'\0'这7个字节
我们假设紧接着str1的6个字节的后面,存有一个别的变量str3,
那么如果把7个字节拷贝到6个字节的位置,多出来的那个字节就会影响到后面的str3。

B.
str[10]在建立以后,实际上已经存有东西了,只是一些系统的乱码,你可以打印它试试
所以如果使用strcat进行连接,实际上是从那些乱码的后面开始连接的,
然后就会出现A里面那个问题,连接完的字符串超出了str的范围了

C.
str[10]=""说明现在str里面没有东西,所以连接st的时候,是从str[0]开始连接的。
str的空间足够放入st的那些字符,所以OK~

D.
这个和上面的问题是一样的

PS:一楼的回答。。有些问题哈。。。。

❺ c语言:指针与字符串

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void func(char *B, char ch2, char ch3){
int len = strlen(B);
char *buf = (char *)malloc(sizeof(char)*2*len);
int i=0, cnt =0;
for(; i < len; i++){
*(buf+i+cnt) = *(B+i);
if(*(B+i) == ch2){
cnt++;
*(buf+i+cnt) = ch3;
}
}
*(buf+i+cnt+1) = '\0';
printf("%s\n", buf);
free(buf);
}

int main(void) {
char *b = "ajfoeneoiawona";
char ch2 = 'a';
char ch3 = 'y';
func(b, ch2, ch3);
return 0;
}

❻ 关于c语言指针 字符串 选择题不会 求答案

选择答案B。

❼ 一道C语言题,关于指针和字符串的。

这个程序没错啊,只不过了一个#include

strcpy(str+1,p2+1)
这句话的意思是:原本p2指向“efgh”的第一个字母e,就是字符串的首地址,加1后就指向f啦,同理,str+1也是一样,指向b啦,也就是从b开始,所以就是把“fgh”复制到“bcdefg”那,str就变成afgh啦。
后面的道理都一样,str+3,p1+3都超出了字符串的长度,所以没变化,就输入afgh啦。
不知道解析的对不对,见笑了,呵呵

❽ 一道C语言题,关于指针和字符串的。

⒈strcpy的实现代码
char*strcpy(char*pd,char*ps)
{
if((NULL==pd)||(NULL==ps))//[1]
throw"Invalidargument(s)";//[2]
char*strDestCopy=pd;//[3]
while((*pd++=*ps++)!='');//[4]
returnstrDestCopy;
}
//这个还是可以的,根据网络里的改的

❾ C语言指针编程题,求大佬解答

#include <stdio.h>

void myitoa(int n,char*str)

{int i,j;

char t;

for(i=0;n;i++)

{str[i]='0'+n%10;

n/=10;

}

str[i]='';

for(j=0,i--;j<i;j++,i--)

{t=str[i];str[i]=str[j];str[j]=t;}

}

int main()

{ int n;

char s[20];

scanf("%d",&n);

myitoa(n,s);

printf("%s ",s);

return 0;

}

❿ C语言:字符串指针题

结果:BC
分析:
s是字符串的首地址,也就是字符A的地址
while( *s++ ) putchar( *s );
上面:*s++是先取*s的值,然后s自动加1
第一次循环:*s的值是A,非0,条件成立,s自动加1,指向了B,所以后面输出*s的时候,输出的是B
第二次循环::*s的值是B,非0,条件成立,s自动加1,指向了C,所以后面输出*s的时候,输出的是C
第三次循环:*s的值是C,非0,条件成立,s自动加1,指向了\0,所以后面输出*s的时候,输出的是空
第四次循环:*s的值是\0,ASCII码为0,条件不成立,结束