• 关于

    语言char

    的搜索结果

问题

while(*s++); 和 while(*s)s++; 的区别?

《C程序设计语言》第二版的习题5.1:用指针的方式实现strcat即字符串连接函数。 这个是可以实现的 #include <stdio.h> void strcatp(char *s, char *t); int main(...
a123456678 2019-12-01 19:43:14 1040 浏览量 回答数 1

问题

c语言指针问题 char *p=&quot;abcdefg&quot;+1; 为?报错

char p="abcdefg"+1; 为什么会报错,const char无法转换为char*...
爱吃鱼的程序员 2020-06-24 14:05:33 0 浏览量 回答数 1

问题

请教一个c语言问题。谢谢!

原例题: #include <stdio.h> #define maxline 1000 int getline(char line[],int max); void copy(char to[],char from[]); ...
a123456678 2019-12-01 19:23:02 903 浏览量 回答数 1

问题

C语言使用回调函数解决内存申请和释放的问题? 400 报错

C语言使用回调函数解决内存申请和释放的问题? 400 报错 C语言中,函数参数或者返回值中如果包含指针指向动态分配的内存区域,那么管理申请和释放就显得十分麻烦,一不小心就容易出错,今...
爱吃鱼的程序员 2020-06-03 15:45:17 2 浏览量 回答数 1

问题

linux下c语言大内存分配

远程登录工作站(64G)c语言分配12G内存失败代码如下 #include<stdio.h> #include<string.h> #include<malloc.h> int main() { ...
小旋风柴进 2019-12-01 19:41:43 989 浏览量 回答数 1

问题

C 语言里为什么这样初始化字符串是错误的?

C 语言里的字符串实际上就是 char 组成的数组,所以 #include &lt;stdio.h&gt; int main(void) { char str[4] = "abc"; for (size_t i = 0; i &...
a123456678 2019-12-01 19:50:57 1232 浏览量 回答数 6

问题

C语言,a=malloc,b=a,c=a,free(b),free(c)出错

#include int _tmain(int argc, _TCHAR* argv[]) { char a=(char)malloc(4); memcpy(a,"123",3); char *b=a; char *c=a; if(b) {...
a123456678 2019-12-01 20:06:21 1168 浏览量 回答数 2

回答

在C语言中, char literal(字面量) 会被作为int处理。C++不同,C++的类型比C语言稍强,这个'a'这个字面量是作为char处理的。
a123456678 2019-12-02 02:34:52 0 浏览量 回答数 0

回答

不知道这是什么语言,但是char *d = [data bytes];是不是表明d[0]是一个char型的? char型大小应该是1字节,那么怎么可以拿来跟两字节大小的常量0x55fc比较呢
杨冬芳 2019-12-02 02:59:29 0 浏览量 回答数 0

问题

C语言字符串异或编译有问题》》》》

enc_data = (char *)malloc(len+1); rc4_key= (char *)malloc(strlen(“123456”)); memcpy(&((char *)iov->iov_base)[1...
杨冬芳 2019-12-01 20:12:46 816 浏览量 回答数 1

问题

C:char指针和数组之间的区别

考虑: char amessage[] = "now is the time"; char *pmessage = "now is the time"; 我从《 C编程语言》第...
保持可爱mmm 2020-02-07 01:01:49 0 浏览量 回答数 1

问题

c语言在linux环境下进行文件复制的代码,使用时出错,求各位大神帮忙解答下

#include #include #include #include #include #include #include #define BUFSIZE 4096 #define COPYMODE 0644 void oops(cha...
杨冬芳 2019-12-01 20:22:01 1066 浏览量 回答数 1

问题

C语言中如何最节省地保存0,1的一个长队列?

现在暂时我用unsigned char类型来替代bool,因为C语言没有bool嘛。如果只是保存的话可以每八位变成一个char去储存,但问题是我需要快速访问那些位是0还是1...
a123456678 2019-12-01 19:48:32 925 浏览量 回答数 5

问题

使用C返回数组

我是C语言的新手,我需要一些处理数组的方法的帮助。来自Java编程,我习惯于说int [] method()可以返回一个数组。但是,我发现使用C时,必须在返回数组时使用数组的指针。作为...
保持可爱mmm 2020-02-07 00:56:53 1 浏览量 回答数 1

问题

为什么在C语言中获取“函数的冲突类型”?

我正在使用以下代码: char dest[5]; char src[5] = "test"; printf("String: %s\n", do_something(dest, sr...
保持可爱mmm 2020-02-08 21:59:16 0 浏览量 回答数 1

问题

在替换动态链接库时,浏览器崩溃。VC++开发的非MFC动态链接库。

在替换别人动态链接库时,做上传功能(即给一个预先定义好的变量赋值)。运行时出现浏览器崩溃的现象,实在是没法了,网上查了好久还是不知道具体是为什么,求各位大神指点。代码如下: extern "C" int _stdcall Get_packe...
a123456678 2019-12-01 20:26:52 1039 浏览量 回答数 1

回答

不纯是语言问题, 和编译器也有关 char s[] = "xxx";是用string literal来初始化一个栈上的数组, 得到的s[]是在栈上 (运行时可写的页), 初始化后的s已经和string literal没关系了. char s把s指向那个string literal本身, 很可能是不可写的内存. 比如linux的gcc会把char s指向的字符串放到elf的.rodata区 (运行时被载入到不可写的页). 试图朝不可写的页memmove会segfault. #include <stdio.h> int main(int argc, char *argv[]) { int a = 1; char *s1 = "My name is XXXXXX."; char s2[] = "My name is XXXXXX."; int b = 1; printf("%p\n", &a); printf("%p\n", s1); printf("%p\n", s2); printf("%p\n", &b); return 0; } 另外"修改string literal所在内存"是未定义行为, 知道原理就可以了, 不要这样做
杨冬芳 2019-12-02 02:27:41 0 浏览量 回答数 0

问题

C语言中用fgets()函数,输入过多会导致程序自动关闭!!

就是这个代码,只要输入的字符数量超过9,程序就自动关了。includeint main(void){char name[10];char name2[100];char* c;c = fgets(name,9,stdin);// print...
a123456678 2019-12-01 20:27:51 1077 浏览量 回答数 1

问题

为什么strcat实现不引起分段错误?

我正在尝试学习C,并且在“ C编程语言”一书中尝试了该练习,在其中实现了strcat()以下功能: char *my_strcat(char *s, const char *t) { ch...
kun坤 2019-12-01 22:06:45 47 浏览量 回答数 1

问题

C语言中printf实现的问题

在如下代码中: #include&lt;stdio.h&gt; main(int argc , char const* argv){ char *ch = "HelloWorld"; printf("%s\n",ch); ...
杨冬芳 2019-12-01 19:29:38 1120 浏览量 回答数 1

问题

C语言中printf实现的猜测

在如下代码中: #include&lt;stdio.h&gt; main(int argc , char const* argv){ char *ch = "HelloWorld"; printf("%s\n",ch); ...
a123456678 2019-12-01 19:41:23 933 浏览量 回答数 1

回答

<ol> <li>在C语言中,NULL 表示 空、没有值、或  已经定义过这个变量 但是没有给这个变量赋值。</li> <li>众所周知,用字符'\0'表示一个字符串的结束。 </li> <li>由于每个字符串的首地址,可以用一个指针来引荐,那么表示一个字符串数组的结束,就要求将最后一个指针置空(NULL)。同时, 这个指针算是这个字符串数组的最后一个元素。</li> <li>你的问题就出在初始化这个字符串数组的时刻,你没有为这个数组安排结束指针NULL。</li> <li>你的这个字符串数组的长度,算上 NULL 元素,是 6。 但初始化时,可以不注明字符串数组的长度。</li> 修改后的代码如下: #include<stdio.h> #define TRUE 1 #define FALSE 0 int find_char(char **,char); void main(){ char *array[]={"hello","world","liu","jun","haha", NULL}; printf("字符串数组 array 的长度是:%d\n",sizeof(array)/sizeof(array[0])); find_char(array,'l'); } int find_char( char **strings, char value ) { char *string; /* the string we're looking at */ while( ( string = *strings++ ) ){ printf("11\n"); printf("string:%s\n",string); } return FALSE; }   <div class='ref'><h4>引用来自“tcxu”的评论</h4><ol> <li>在C语言中,NULL 表示 空、没有值、或  已经定义过这个变量 但是没有给这个变量赋值。</li> <li>众所周知,用字符'\0'表示一个字符串的结束。 </li> <li>由于每个字符串的首地址,可以用一个指针来引荐,那么表示一个字符串数组的结束,就要求将最后一个指针置空(NULL)。同时, 这个指针算是这个字符串数组的最后一个元素。</li> <li>你的问题就出在初始化这个字符串数组的时刻,你没有为这个数组安排结束指针NULL。</li> <li>你的这个字符串数组的长度,算上 NULL 元素,是 6。 但初始化时,可以不注明字符串数组的长度。</li> 修改后的代码如下: #include<stdio.h> #define TRUE 1 #define FALSE 0 int find_char(char **,char); void main(){ char *array[]={"hello","world","liu","jun","haha", NULL}; printf("字符串数组 array 的长度是:%d\n",sizeof(array)/sizeof(array[0])); find_char(array,'l'); } int find_char( char **strings, char value ) { char *string; /* the string we're looking at */ while( ( string = *strings++ ) ){ printf("11\n"); printf("string:%s\n",string); } return FALSE; }  
爱吃鱼的程序员 2020-06-06 21:26:53 0 浏览量 回答数 0

回答

C中, char literal(字面量) 会被作为int处理。C++中,C++的类型比C语言稍强,这个'a'这个字面量是作为char处理的。
xumaojun 2019-12-02 02:34:52 0 浏览量 回答数 0

回答

C中, char literal(字面量) 会被作为int处理。C++中,C++的类型比C语言稍强,这个'a'这个字面量是作为char处理的。
一生有你llx 2019-12-02 02:34:52 0 浏览量 回答数 0

回答

C中, char literal(字面量) 会被作为int处理。C++中,C++的类型比C语言稍强,这个'a'这个字面量是作为char处理的。
nothingfinal 2019-12-02 02:34:52 0 浏览量 回答数 0

问题

C 语言字符串用数组和指针初始化为什么会有这样的区别?

直接用数组初始化: #include &lt;stdio.h&gt; int main(void) { char str[] = "abc"; int i = 0; while (str[i] != '\0') { p...
a123456678 2019-12-01 19:51:00 1585 浏览量 回答数 5

问题

用scanf如何读入long double和unsigned char?

用scanf如何读入long double和unsigned char? 语言学得不精,还请众神指点…… 网上找了一下,可是照着打不行啊。。。 以下是代码和编译信息(c++) #include <cstdio> int main...
a123456678 2019-12-01 19:43:54 1068 浏览量 回答数 1

问题

C语言中, 如下两种定义字符串的方式有什么不同?

char* str = "abcd"; char str[5] = "abcd"; 比如在分配内存的时候, 还有在其他方面有什么区别...
a123456678 2019-12-01 19:45:42 704 浏览量 回答数 1

回答

您不能从C语言中的函数返回数组。您也不能(不应)这样做: char *returnArray(char array []){ char returned [10]; //methods to pull values from array, interpret them, and then create new array return &(returned[0]); //is this correct? } returned 具有自动存储持续时间的创建函数,一旦离开声明范围,即函数返回,对其的引用将无效。 您将需要在函数内部动态分配内存或填充调用方提供的预分配缓冲区。 选项1: 动态分配函数内部的内存(负责取消分配的调用者ret) char *foo(int count) { char *ret = malloc(count); if(!ret) return NULL; for(int i = 0; i < count; ++i) ret[i] = i; return ret; } 这样称呼它: int main() { char *p = foo(10); if(p) { // do stuff with p free(p); } return 0; } 选项2: 填充调用方提供的预分配缓冲区(调用方分配buf并传递给函数) void foo(char *buf, int count) { for(int i = 0; i < count; ++i) buf[i] = i; } 并这样称呼它: int main() { char arr[10] = {0}; foo(arr, 10); // No need to deallocate because we allocated // arr with automatic storage duration. // If we had dynamically allocated it // (i.e. malloc or some variant) then we // would need to call free(arr) }
保持可爱mmm 2020-02-07 00:57:10 0 浏览量 回答数 0

问题

C语言 数据结构的问题

我定义了下面两个结构体(第二个结构体里面是内核链表调用) typedef struct flight { char ID[10]; char departure[20]; char arriv...
杨冬芳 2019-12-01 19:34:51 931 浏览量 回答数 1

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务