精华内容
下载资源
问答
  • C字符数组赋值

    2018-09-25 15:41:27
    在做《算法竞赛入门经典》习题2-10 permutation时,遇到数组初始化赋值的问题。 结论: 数组只有在初始化,也就是 声明+赋值的时候可以采用大括号的方式,来初始化。其他时候都必须用循环一个个赋值。 具体例子...

    在做《算法竞赛入门经典》习题2-10 permutation时,遇到数组初始化赋值的问题。

    结论:
    数组只有在初始化,也就是 声明+赋值的时候可以采用大括号的方式,来初始化。其他时候都必须用循环一个个赋值。
    具体例子如下,注释里有讲解。

    // 排列 permutation
    
    #include<stdio.h>
    
    int main(){
    	
    	int a,b,c;
    	int check[10]={0}; // 全是0,而 int check[10] = {1}  结果只有第一个是1,其他都是0.
    	int sign;
    	
    	for(a=123;a<=321;a++){
    		sign = 1;
    		b=2*a; c=3*a;
    		check[a/100]=check[a%100/10]=check[a%100%10]=1;
    		check[b/100]=check[b%100/10]=check[b%100%10]=1;
    		check[c/100]=check[c%100/10]=check[c%100%10]=1;
    		for(int i=1;i<10;i++){
    			if(check[i]==0){
    				sign = 0;
    				break;
    			}		
    		}
    		if(sign){
    			printf("%d %d %d\n", a,b,c);
    		}
    		
    		/*
    		int a[5]={1,2,3}; 正确
    		但
    		int a[5];
    		a={1,2,3}错误
    		因为数组只能在初始化的时候一次性赋值,其他时候必须要一个一个赋值。
    		字符型 数组用 "..."初始化同理。
    		*/
    		for(int i=1;i<10;i++){
    			check[i]=0;
    		}
    	}
    	
    	return 0;
    	
    	
    }
    

    C字符数组赋值的具体讲解如下链接
    https://www.cnblogs.com/ranjiewen/articles/6833074.html

    展开全文
  • C语言字符串数组赋值

    千次阅读 2019-09-13 21:16:15
    数组赋值有两种方式 一种是在定义是赋值: char book[] = {"the story of sitone"}; char author = "曹雪芹";//去掉花括号也可以 char k[5] = {'h','e','l','l','o','\0'}; 定义后在赋值就一般用strcpy,不能用=赋值...

    数组赋值有两种方式
    一种是在定义是赋值:

    char book[] = {"the story of sitone"};
    char author = "曹雪芹";//去掉花括号也可以
    char k[6] = {'h','e','l','l','o','\0'};
    

    定义后在赋值就一般用strcpy,不能用=赋值,C语言并没有提供可以直接操作字符串的运算符;“=”可以用于其他数据类型的赋值,但是不可以直接给字符串赋值。但可以用赋值。

    #include<stdio.h>
    #include<string.h>
    
    int main()
    {
       char book[50];
       char *author;
       
       strcpy(book,"三体");
       //book = "三体";//这样的赋值是错误的。
       author = "liucixin";//这样赋值可以
       
       printf("%s\n",book);
       printf("%s\n",author);
       
       return 0;
    }
    
    展开全文
  • 结构体的数组不能直接等号赋值,如果直接赋值会出现如下错误 错误代码示范: 编译结果: 错误原因: 结构体数组成员在引用的时候取的是数组名(是一个常量),所以不能直接将地址值赋给常量。 正确代码...

    结构体的数组不能直接等号赋值,如果直接赋值会出现如下错误

    错误代码示范:

    编译结果:

     

    错误原因:

            结构体数组成员在引用的时候取的是数组名(是一个常量),所以不能直接将地址值赋给常量。

    正确代码:

     字符数组可以用strcpy(结构体字符数组成员,字符串)的方式赋值

    也可以用memcpy(c2,c1,strlen(c1)+1)赋值

    整型数组可以用循环来赋值

    也可以用memcpy(c2,c1,strlen(c1))赋值

     

    展开全文
  • C++ Char数组赋值

    万次阅读 2015-05-08 13:08:57
    1、定义的时候直接用字符串赋值 char a[10]="hello"; //sizeof(a)为10 或char a[]="hello"; //sizeof(a)为6 ...这样是错误的! 2、对数组中字符逐个赋值 char a[10]={'h','e','l','l','o'}; //sizeof(a)为
    1
    、定义的时候直接用字符串赋值
    
    char a[10]="hello";   //sizeof(a) 10
    char a[]="hello";  //sizeof(a) 6
    注意:不能先定义再给它赋值,如 char a[10]; a[10]="hello"; 这样是错误的!
    2 、对数组中字符逐个赋值
    char a[10]={'h','e','l','l','o'}; //sizeof(a) 10
    char a[]={'h','e','l','l','o'}; //sizeof(a) 5
    3
    、利用 strcpy
    char a[10]; 

    strcpy(a, "hello");

    例题:将小写转化为大写
    char * CTrunDlg::TrunTo(char ch[])// 将小写字母转化为大写
    {
           int i=0;
           while (ch!='/0')
           {
                  if (ch>='a'&&ch<='z')
                  {
                         ch=ch-('a'-'A');
                  }
                  i++;
           }
           return ch;
    }

    void CTrunDlg::OnButton1() 
    {
           char temp[]= "abcDEFg呵呵";
           CString str = "";
    //     char ch[10];
    //     int i = 0;
           char *pch = TrunTo(temp);
    //     for (;*pch!='/0';pch++,i++)
           for (;*pch!='/0';pch++)
           {
    //            ch = *pch;
                  str+=*pch;
           }
           MessageBox(str);
    }
    展开全文
  • C语言中,数组初始化的方式主要有三种:1、声明时,使用 {0} 初始化;2、使用memset;3、用for循环赋值。 那么,这三种方法的原理以及效率如何呢? 请看下面的测试代码: [cpp] view plain copy #define ARRAY...
  • 上面的赋值是写在一个头文件里的,用VS2008,或者VC++6.0调都会出现上面的错误,VS2013和DEV就不会报错。 完整代码是: //头文件“信息.h” struct students { long code; char *name; float score[3]; float ...
  • 至少有一点可以确定,在编译阶段,编译器不会报错,因 为*str不是常量,所以对*str赋值并没有什么语法错误。但是有些编译器,比如VC,会在运行时抛出异常:写入位置 0x008f5740 (str指向的地址) 时发生访问冲突!...
  • 关于指向字符数据的指针数组用scanf %s赋值以及printf %s输出的问题#includevoidmain(){char*a[2];inti;for(i=0;i<2;i++)scanf("%s",a+i);//a不是a[i]的地址吗?这样输入的值不是给了a[i]吗?而a[i]应该是存地址...
  • printf("结构体数组调用赋值测试数据:%d,%c\n",arr[i].num,arr[i].null); } //结构体函数赋值的使用④  meed.p(); } ******************************************/ /****************************...
  • VC动态数组实现

    千次阅读 2017-07-27 10:05:14
    VC动态数组实现 数组类型的变量有三个重要的限制:数组长度固定不变,在编译时必须知道其长度,数组只在定义它的块语句内存在. 实际的程序往往不能忍受这样的限制-------它们需要在运行时 动态地分配数组.虽然数组...
  • vector实现二维数组

    千次阅读 2017-03-23 15:42:52
    剑指offer第一个题就是二维数组的查找,天真地想用二维数组做,结果点开人家的在线编程,给的是vector。[尴尬......] 用vector实现二维数组的好处: 1、数组的越界可能会引起程序的崩溃,动态性不好,包括动态改变...
  • c++ 字符串赋值

    千次阅读 2018-12-15 21:37:03
    从大一学c语言到现在都快三年了,今天居然还在简单的字符串赋值的过程中犯了错误,应该记下来,以免日后再犯。 这是一个结构体 typedef struct student { char name[21]; char sno[21]; int grade; } student;...
  • 现象: 在一个类的头文件中定义了一个...这次在写一个程序的时候,定义了一个比较大的int数组,发现大概元素个数超过25W个的时候,程序就不正常了,如果个数再多,还可能出现一个Windows错误,然后问要不要发送错误报告.
  • C语言中,数组初始化的方式主要有三种:1、声明时,使用 {0} 初始化;2、使用memset;3、用for循环赋值。那么,这三种方法的原理以及效率如何呢?请看下面的测试代码:#define ARRAY_SIZE_MAX(1*1024*1024)void ...
  • 如何在C++中动态建立二维数组--转载

    千次阅读 2011-12-19 23:07:23
    一维数组是指针,可将二维数组看作是指针的指针:每一行是一个一维数组,而列是指向行的指针。在动态创建时,先分配指向行的指针空间,再循环维每一行申请空间。 #include using namespace std; int main...
  • (查了半天的原因的我,一直冷静...如图,我们可以看到关于这些错误的代码号,如果在官方发布的代码表查询下不难发现这些都是关于a[n]里面的变量问题,就算前面n的值是由cin给的,但根据VC6++的逻辑来看,似乎好像只...
  • C语言(数组)练习.doc

    2021-05-23 07:37:59
    C语言(数组)练习C语言...printf("给数组赋值:\n");for (i=0;i<=10;i++)scanf("%d",( ));... ...printf("输出数组:\n");for(i=0;i<=10;i++)printf("%d,",( ));}则在程序中的两个园括号中分别应填入:...
  • 相信不少的C语言初学者都知道,数组名相当于指针,指向数组的首地址,而函数名相当于函数指针,指向函数的入口地址。现在有这样一个问题,如果对数组名取地址,那得到的会是什么呢?很多人立刻会想到:给指针取地址...
  • C语言的数组初始化

    2021-05-25 01:36:26
     //错误:不是数组赋值 } 假设你想这种复制的话,请使用 vector(16章第三节) 或者 valarray(22章第四节)。 字符数组能够方便地採用字符串直接初始化(參考第五章 2.2小节) 译注: 就是 这样啦 char ...
  • 因为精度的不同又分为3种(float,double,long double): 注:C语言中不存在字符串变量,字符串只能存在字符数组中,这个后面会讲。 格式化输出语句 格式化输出语句,也可以说是占位输出,是将各种类型的数据按照格式...
  • Keil 结构体变量初始化tujidi1csd25142016-09-30一维数组结构体数组结构体数组,通过改变指针类型改变访问数组的方式toto129748850424332014-08-01mfc结构体指针、结构体数组指针u01399024812292014-12-14memset...
  • C++内存分配及变长数组的动态分配

    万次阅读 2012-10-25 21:23:18
    有段时间不敲代码了,忘了不少东西,因为一个数组的动态分配,引出一连串的问题,往后要重新拾起来啊!步入正题 //---------------------------------------------------------------------------------------------...
  • vc watch窗口查看指针指向的数组

    千次阅读 2009-01-12 23:52:00
    假设int *block;在watch窗口查看block,看到的是block的地址用block[0],只能看到一个值可以用 block,10 来同时查看多个值用(&...格式化数据和表达式赋值语句. 常用变量格式化符(表达式的值后跟逗号,接格式化符,如"
  • C语言数组考点归纳

    2021-05-22 16:45:30
    下面是小编为大家收集的C语言数组考点归纳,欢迎借鉴学习!9.1 一维数组的定义、初始化和引用1.一维数组的定义方式为:类型说明符 数组名[常量表达式]***1***数组名的命名方法与变量名相同,遵循标识符命名规则;***2*...
  • mysql数组存储的步骤

    2021-01-28 03:58:40
    mysql数组存储的步骤发布时间:2020-05-18 13:46:09来源:PHP中文网阅读:131作者:三月...在很多的情况下,在编写存储过程中往往会用到数组,但是mysql中存储过程传入参数并没有可以直接传入数组的方法。在这种情...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,231
精华内容 6,492
关键字:

vc数组赋值错误