char a[]字符串不是确定的值,比如x,x可变,这样的c语言程序如何设置呢

如题所述

这种变量申明方式只能出线在函数头修饰中,相当于char *a,只是申明了一个指针型变量a
如果在程序中定义数组,需要:char a[]={"china"};等同于char a[6]={"china"};意思就是自己懒得计算字符串"china"具体要占用几个字符元素了,让编译程序自己帮着数一下再确定数组a有几个元素。直接写char a[];由于编译程序无法计数是算作语法错误的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-05-13
你是指数组的长度吧?C语言数组长度是固定的,定义时必须明确给出,不能用变量指定长度追问

哦是character a[]={},{里为变量}

追答

不是C语言吗,这个我不知道

本回答被网友采纳
第2个回答  2017-07-05
x 是用在哪的呢
拷贝字符串? strcpy函数

~
~
~
~
第3个回答  2017-07-05
说的啥?完全没看懂!

...a[]字符串不是确定的值,比如x,x可变,这样的c语言程序如何设置呢
这种变量申明方式只能出线在函数头修饰中,相当于char *a,只是申明了一个指针型变量a 如果在程序中定义数组,需要:char a[]={"china"};等同于char a[6]={"china"};意思就是自己懒得计算字符串"china"具体要占用几个字符元素了,让编译程序自己帮着数一下再确定数组a有几个元素。直接写char a[...

如何用C语言编一个程序,来检测输入的字符串是不是某一个特定的字符串...
include <string.h> include <conio.h> define DEBUG 1 int main(){ char src[512] = "";char *dst = "asdf kjhf";int fg = 0;\/\/脚标 char ch;printf("请输入字符串,回车结束输入:\\n");ifdef DEBUG \/\/此方法可以不用回车当结束符亦可 while (ch = getch()) { printf("%c",ch...

C语言怎么实现可变长度字符串
char * p = (char*)malloc(sizeof(char)*n)别忘了free C++和C#的string类型在最低层实际也是利用类似方法去做的 另外有一种 char str[SIZE_MAX]也有人喜欢用 realloc函数 只是不太推荐,主要原因是以前系统上这个函数操作会出问题,因为内存的原因 ...

C语言,不定参数的函数指针问题
如果参数是char或float类型,这样的参数放在可变参数部分的话,编译器是会默认把它们的类型提升为相应的“全”类型的:char提升为int,float提升为double。如果你没注意这一点就会出现错误。当然可以通过指针的类型转换来避免。先简略地点一下,等我在CSDN博客里详细地写一写心得吧。虽然是N年前的问题估计...

C语言中char *a[ ]什么意思,他和char (*)a[ ]有什么什么区别?
后面这个你应该要问的是char (*a)[]吧,不然的话就和第一个一样了 char (*a) [N]表示的是指向一个元素为N的字符串数组的指针,说白了就是一个数组指针(指向数组的指针)。这个和函数指针有点像 int (*p) (int,int),表示指向返回值为int,并且含有2个int变量的函数 ...

C语言边写函数的时候要定义一个数组char*a和char a[]一样么?
当然不一样。char*a是一个指向字符对象的指针,该对象可以是一个字符,也可以是字符串(即字符数组);而char a[]则是定义了一个元素个数不定的字符数组;具体来说,初始化时都可以说:char*a="asdasd";char a[]=asdasd";但是定义之后,*a可以将字符串整体赋给他,而char[]则不行,如*a="...

怎样在C语言中修改字符串的一个字符的值
独孤九剑碧血剑回答正确。注意char *a="abcdef"与char a[]="abcdef"的区别:1、字符串存放的内存区域不同:前者存放在常量区,不可修改,后则存放在栈中,可以修改;2、变量a存放的内容不同:前者存放的是一个地址,而后者存放的是字符串"abcdef",因此使用sizeof它们的结果是不同的,分别是4和...

C语言输入的字符串不符合条件,怎么提示错误并重新输入?循环要怎么加...
写一个函数(例如int hf(char*s);),判断字符串是否符合要求,不符合要求就循环,一直到符合要求为止。循环的方式多种多样,例如下面这一种:while(scanf("%s",&name)&&hf(name));

C语言如何定于未知长度的字符串
设置一个循环,先动态申请一个较小的空间比如10字节,然后输入字符;当输入满时另外申请一个20字节的空间,把已输入的10个字符拷贝过来,释放掉10个字节的空间。然后向20个字节的空间里接着输入字符,写满时再申请一个30字符的空间……如此反复,直到输入'\\n'时结束。先动态申请一个较大的空间,如...

在C语言中,要求编写程序在给定的字符串中查找指定的字符。
int i,index,count;char a,ch,str[80];scanf("%c\\n",&a);i=0;index=-1;count=0;ch=getchar();for(i=0;ch!='\\n';i++){ str<i>=ch;count++;ch=getchar();} for(i=0;i<count;i++)if(a==str<i>)index=i;if(index!=-1)printf("index=%d",index);else printf("...

相似回答