首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于C语言中字符数组的一个小疑点

2013-11-03 
关于C语言中字符数组的一个小问题我是初学者,才刚刚开始学,到数组和指针这就有点弄不明白了,所以想多写写

关于C语言中字符数组的一个小问题
  我是初学者,才刚刚开始学,到数组和指针这就有点弄不明白了,所以想多写写
  目前遇到一个问题,

  我想定义一个字符数组 a[n] 
  然后我输入多少个字符n就变成多少
  我记得之前有本书上写过,好像是用sizeof某某/sizeof某某,但是当时看不懂,就没注意,现在找不到了,求位前辈帮下忙。
  另外,还有一个小问题,
  定义一个a[5]的字符数组
  然后用scanf赋值,如果按顺序从a[0]开始赋值,如果输入3个字符,那a[4]和a[5]是被随机赋值吗?
  还有我这个代码 编译之后,执行,如果只输入3个或者4个字符的话,就一直无法输出,除非把字符塞满,有没有方法能够解决这个问题?或者说一定要把数组塞满吗?
希望能有前辈能够帮忙解答,非常非常感谢,因为才学了一个星期,很多高深的东西和术语也不是很懂,所以希望前辈能够不要说的太复杂,谢谢谢谢
#include <stdio.h>

int main (){
int i,j;
char a[5];
for(j = 0;j < 5;j++){
     scanf("%c ",&a[j]);
}
printf("输入:");
for(i = 0;i < 5;i++){
             printf("%c",a[i]);
}
printf("\n");
return 0;
}
[解决办法]
for(i = 0;i < 5;i++)
主要是你循环了5次,所以一定要输入五次!循环结束!

如果不想5次的话,可以for(i =0; i < n; i++) // 你表示你想循环输入的次数!
楼主可以看看http://download.csdn.net/detail/max_min_/6333711
入门的书籍!多敲敲里面的例程

[解决办法]
你的意思就是
char* p="abcdefg"
//p[0]='a'
//p[1]='b'
...
//p[5]='f'
...
是这个意思吧?

热点排行