简单的有关问题,麻烦大家看下!

简单的问题,麻烦大家看下!!!
C/C++ code
#include    <stdio.h>
#include    <string.h>
#include    <stdlib.h>

int main(argc, argv)
{
  char adsf[2];

  strcpy(adsf, "sdfffffffffffffffff");

  printf(adsf);

}


现在长度为2,赋值内容超长,结果会怎么样??


------解决方案--------------------
出现未知错误。。。很严重的后果
------解决方案--------------------
堆栈会被破坏, 结果是未定义
------解决方案--------------------
段错误,数据溢出。
------解决方案--------------------
溢出 但是可以运行 结果不可预料
------解决方案--------------------
会覆盖数组asdf后面的内存区,如果该内存区不可写则异常
------解决方案--------------------
这速度。。。一分钟5个回复。。。
------解决方案--------------------
未知错误
------解决方案--------------------
溢出,有时溢出一两个字符没事,有时不行,像你这样溢出这么多错误严重
------解决方案--------------------
探讨

谢谢大家的回答

那我现在有一个字符串(不定长)例:“asdf,cccc,cccccasdd,ccccccasdf” 想按“,”分割成数组,怎么放,谢谢啦

------解决方案--------------------
探讨

引用:
谢谢大家的回答

那我现在有一个字符串(不定长)例:“asdf,cccc,cccccasdd,ccccccasdf” 想按“,”分割成数组,怎么放,谢谢啦


char *str = strtok("asdf,asdfadfww,ooweqr", ",");
1: 数组的长度是??
2: 怎么样取到指定的元素(比如 第三个元素)。。……

------解决方案--------------------
探讨
引用:

谢谢大家的回答

那我现在有一个字符串(不定长)例:“asdf,cccc,cccccasdd,ccccccasdf” 想按“,”分割成数组,怎么放,谢谢啦


char buf[20][100]; //可以看成20个100字节大小得字符串

用strtok分割

存进buf;