1.看视频的时候有这样一个观点,视频连接:B站视频连接35分钟处.那就是定义数组的时候,不能用变量,代码如下,视频中说VS2012编译会报错,可是我用Dev-c++编译的时候并没有报错,而且编译运行通过了,对于这个问题,目前还没有想通?
#include <stdio.h>
int main()
{
int num=4;
int a[num]={1,2,3,4};
return 0;
}
2.strlen
是用来计算字符串长度的
但有时编译器会报错'strlen' was not declared in this scope
,如下图:
这个时候只需要加入头文件#include <string.h>
即可解决问题。
#include <stdio.h>
#include <string.h>
int main()
{
char a1[]={"abc"};//数组
//"abc"---'a''b''c''\0'--'\0'字符串的结束标志
char a2[]={'a','b','c','\0'};
char a3[]={'a','b','c'};
printf("%d\n",strlen(a1));//strlen--计算字符串长度的
printf("%d\n",strlen(a2));
printf("%d\n",strlen(a3));
return 0;
}
3.报错C [Warning] deprecated conversion from string constant to ‘char*’
#include "stdio.h"
char *str1 = "Hello";
char str2[] = "Hello";
int main()
{
printf("%d %d", sizeof(str1), sizeof(str2));
}
解决方式如下:加一个const
#include "stdio.h"
const char *str1 = "Hello";
char str2[] = "Hello";
int main()
{
printf("%d %d", sizeof(str1), sizeof(str2));
}