我是新来的C和想分开两个部分的string。 这是我的代码:
#include <stdio.h> #include <string.h> #include <stdlib.h> void test(char** a,char** b) { const char * c = "abcdef"; *a = (char *)malloc(4* sizeof(char)); *b = (char *)malloc(4* sizeof(char)); strncpy(*a,c,3); *a[3] = ' '; fprintf(stderr,"a -> %sn",*a); strncpy(*b,c+3,3); *b[3] = ' '; fprintf(stderr,"b -> %sn",*b); } int main() { setvbuf (stderr,NULL,_IONBF,0); char *a = NULL; char *b = NULL; test(&a,&b); fprintf(stderr,*a); fprintf(stderr,*b); }
我想在variablesb上avariables和def 。 但我的问题是,它与Segmentation Fault失败。 我运行这个后,我得到这个输出:
a -> abc Segmentation fault
我不明白为什么。 我正在使用cygwin并用命令构build它
gcc test.cpp -o test.exe
WPF窗口位置属性左,顶部,高度和宽度曾经实际上双打?
c#Windows服务是(可能)使用app.config
从命令行启动Python IDLE来编辑脚本
如何解决在Windows上使用pip安装错误“预期的版本规格在…”?
Windows Update API c#代码无法获取更新历史logging
对不起,如果问题听起来很傻。 谢谢。
是否可以在PHP 5.3.6 / IIS / Windows 2008上运行APC?
当我在Python 2.x中使用msvcrt时,为什么会得到IOError?
从C#中的串行端口接收数据的问题?
如何增加窗口中断延迟来压力testing驱动程序?
无法将Windows上的OpenCL与GHC链接
数组下标运算符[]具有更高的优先级,然后是解引用运算符* 。
所以你想改变
*a[3] = ...
成为
(*a)[3] = ...
b同样。
把编译器的警告级别设置得足够高,它应该已经警告过你。 或者至少告诉你,他们是有点可疑的
*a[3] = ' ';
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。