原100题目链接:
https://blog.csdn.net/qq_20398345/article/details/80948014?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160058621919725254025850%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160058621919725254025850&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v2-1-80948014.first_rank_ecpm_v3_pc_rank_v2&utm_term=100%E6%9D%A1%E7%BB%8F%E5%85%B8c%E8%AF%AD%E8%A8%80%E7%AC%94%E8%AF%95%E9%A2%98&spm=1018.2118.3001.4187
- 请填写bool , float, 指针变量 与“零值”比较的if
语句
Bool类型判断:
bool a;
if(a)
if(!a)
指针类型判断:
If(p==NULL)
If(p!=NULL)
浮点数判断
If(x>0.001)
If(x<0.01)
- 以下为Linux下的32 位C 程序,请计算sizeof 的值。
char str[] = “Hello” ;
char *p = str ;
i nt n = 10;
请计算
(1)sizeof (str ) = (2)s i zeof ( p ) =
(3)sizeof ( n ) =
【标准答案】
(1).sizeof(str) = 6(Hello后面还有个结束符号\n)
(2)sizeof(p)=4 p是一个指针类型,指针的长度是4(32或者64位系统)
(3)sizeof(n)=4 n 是一个int类型,数据长度是4
(4)void Func ( char str[100])
{
…… ;
}
请计算sizeof( str ) = 4
此时的str传递的是该字符数组的首地址的指针,相当于一个指针变量。
(5)void * p = malloc( 100 );
请计算sizeof ( p ) =4
- 用变量a 给出下面的定义
e) 一个有10个指针的数组,该指针是指向一个整型数
的;
Int *a[10]
f) 一个指向有10个整型数数组的指针;
Int (*a)[10]
g) 一个指向函数的指针,该函数有一个整型参数并返
回一个整型数;
Int (*a)(in)
h) 一个有10个指针的数组,该指针指向一个函数,该
函数有一个整型参数并返回一个整型数;
int (*a[10])(int)
- 设有以下说明和定义:
typedef u nion {long i; int k[5]; char c;} DATE;
struct data { int cat; DATE cow; double dog;} too;
DATE max;
则语句printf("%d",sizeof(struct date)+sizeof(max)); 的
执行结果是:_____
data 是union,union属于结构成员共享地址空间,ziseof(date)取union中最大的数据长度即可,即:4x5=20
max属于struct,sizeof(max)需要成员地址空间相加,而且得注意四自己对其,sizeof(max)= 4+20+8=32;
所以结果值是52
- 请问以下代码有什么问题:
int main()
{
char a;
char *str=&a;
strcpy(str,"hello");
printf(str);
return 0;
}
解析:内存越界,数据溢出
- 请问以下代码有什么问题:
char* s="AAA";
printf("%s",s);
s[0]='B';
printf("%s",s);
有什么错?
【标准答案】:s指向常量字符串,定义的时候需要加const char *s = ”AAA“
所以s是用const修饰的指向常量的变量,不能被赋值。