㈠ c语言关于数组赋初值的问题char buff[10]={0};
需要注意的是:char
buff[5]={0};和char
buff[5]={'0'};是两个完全不同的概念:
char
buff[5]={0};的赋的是一个字符串的结束符,而不是一个字符'0';
char
buff[5]={'0'};才是给第一个字符赋值为'0'。
大家喜欢用char
buff[5]={0};主要是想制造一个空的字符串,
你调试一下就知道了:
如果这样写:
#include
void
main
{
char
buff[5]={0};
printf("%s",buff);
}
是没有任何输出的,因为printf遇到的buff的第一个字符就是个字符串的结束符'\0'
而如果这样写:
#include
void
main
{
char
buff[5]={'0'};
printf("%s",buff);
}
才会看到输出了一个'0'
这才是你理解的给第一个单元赋值为‘0’。
char
buff[5]={0};是一种定义空字符数组的严谨的写法!
㈡ C语言 char buf[80];什么意思
char
buf[80];是定义包含80个元素的一位字符型数组
至于程序,需要提供完整一些的源代码
㈢ 在c语言二维数组中怎样交换两个数组元素中的字符串,请写代码.
int strcpy(char *s1,const char *s2);
开辟一个缓冲区,比如
char buff[100];//假设你的字符串不超过这么多
而你的而为数组为
char **argv;
其中argv[0] = "this is the first string";
argv[1] = "this is the seconde string";
你只须调用如下
strcpy(buff,argv[0]);
strcpy(argv[0],argv[1]);
strcpy(argv[1],buff);
一下是完整代码,并测试过
#include <stdio.h>
#include <string.h>
char argv[2][100]={ "This is the first string","This is the second string"};
// 存储字符串的二维数组,每个字符串最长为99个字节
char buff[100];
//缓冲区
int main()
{
printf("转换前:\n");
printf("argv[0] = %s\n",argv[0]);
printf("argv[1] = %s\n",argv[1]);
strcpy(buff,argv[0]);
strcpy(argv[0],argv[1]);
strcpy(argv[1],buff);
printf("转换后:\n");
printf("argv[0] = %s\n",argv[0]);
printf("argv[1] = %s\n",argv[1]);
return 0;
}
㈣ 在c语言中 char buf[ ]="1234567890ABCD" 代表什么
是一个字符数组。初始化为字符串形式则末尾有隐含的'\0'字符。定义字符数组时同时初始化,则可以不用用户指明字符数组长度,由系统根据你初始化的长度给定。
㈤ "char buf [50]"在C语言中是什么意思
buf 是定义的一个数组名,也是数组首地址;
而char表示你数组元素的类型,即是你定义的数组元素只能是字符型的;
而50则表示数组元素的个数,你定义的是50,也就是说,从0到49这些元素。
㈥ C语言中的buff是什么eg:char buff[BUFFSIZE];
buff是数组名字,中文解释是缓冲区,一般程序员习惯用buff在存放字符串。
㈦ c++ char字符组拼接
主要使用两个函数strcat和strcpy,strcat本身就是连接字符串的,但是要保证空间足够。
例:
int main()
{
char buff[1024];
memset(buff, 0, sizeof(buff));
const char *buff2 = " test";
strcpy(buff, "abc");
strcat(buff, buff2);
printf("%s", buff);
}
(7)charbuffc语言扩展阅读
C语言:通过指针对字符串进行拼接
#include <stdio.h>
#include<string.h>
void Pointer_stringcat(char *str1,const char *str2)
{
while (*(str1++)!='