C语言必掉大坑,【c语言中的坑】c语言中的坑

声明:本帖记录我考试中出现的c语言错误。

1、取模运算操作数,必须是整型,浮点型不能作为操作数

例如:3.14%2 是错误的

2.在打印输出

printf("%d",strlen("\\TOP\t\65\""));

输出结果是7  问了老师之后才知道\t只占用一个位置,并不是4个位置 \\  一个 top 3个  \t 一个  \65一个  \" 一个 一共七个长度

3.当声明一个共用体变量时,系统分配给他的内存是成员中占用内存最大者所需的容量

4.c语言中基本的数据类型包括整型、实型、字符型

5.

#includevoid main(){

char x [] = "language";

char y [] = "IIngga";

int i = 0;

while(x[i]!='\0'&&y[i]!='\0')

{

if(x[i]==y[i])

printf("%c",x[i++]);\\ x[i] 和x[i++]的区别 主要在于 应该在判断完成后 进行i值的自增 否则的话 程序会进入死循环

else

i++;

}

}

6.

int a,b,y,x;

switch(pow(a,2)+pow(b,3))

{

case 1:case 3: y = a+b;break;

case 0:case 5: y = a-b;

}

error C2450: switch expression of type 'double' is illegal

编译报错,因为switch()中只能是整型 字符型和枚举类型。pow返回的是一个double类型的数据

7.若x是实型变量,表达式(x=10.0/4.0)的值是2.5

查了下百度百科。找到的解释,记录一下。

在程序运行过程中可以改变其值的实型量被称为实型变量,实型变量分为单精度(float),双精度(double)和长双精度(long double)型。

8.

/*

程序的理解:p = a+8 指针指向了下标为8的地方 也就是'9'的地方

在执行p-3 首地址元素指针指向了'6' 所以程序最后输出的是 6789 0在这里的做的是一个结束标志

**/

char a [10] = {'1','2','3','4','5','6','7','8','9',0},*p;

int i = 8;

p = a+i;

printf("%s\n",p-3);

9.

/*

程序理解:定义了一个字符数组,和一个字符指针变量

用字符指针变量指向了字符数组的第一个元素

因此程序的执行的结果就是

ABCD

BCD

CD

D

**/

char s [] = "ABCD";

char * p;

for(p=s;p

10.

#includevoid main(){

/*

程序理解:++p 一直指向 直到指针指向e处 停止执行 因此程序输出的efg

指针p 指向的是e的地址。因此 输出会包含 e

**/

char * p = "abcdefg";

while(*(++p)!='e');

printf("%s\n",p);

}

说明:如果对此有疑问的欢迎 指正 谢谢! 联系qq 1137821448

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值