c语言一个小问题

Python024

c语言一个小问题,第1张

#include <stdio.h>

int main()

{

int i,u[4],v[4],x,y=10//定义i,x,y=10,整形数组u,v

for(i=0i<=3i++) //for循环 i从0到3

scanf("%d", &u[i])//输入u[0],u[1],u[2] ,u[3]分别为9,4,9,3

v[0]=(u[0]+u[1]+u[2]+u[3])/7//将(u[0]+u[1]+u[2]+u[3])/7的值赋给v[0] 现在的v[0]=25/7,由于v[0]是int型 取整数部分 所以v[0]=3

v[1]=u[0]/((u[1]-u[2])/u[3])//将u[0]/((u[1]-u[2])/u[3])的指3赋给v[1]

v[2]=u[0]*u[1]/u[2]*u[3]//同上

v[3]=v[0]*v[1]//同上

x=(v[0]+v[1]+2)-u[(v[3]+3)%4]//同上

if(x>10) //如果x>0

y+= (v[2]*100-v[3])/(u[u[0]%3]*5)//则进行:y=y+(v[2]*100-v[3])/(u[u[0]%3]*5)

else //如果x<=0

y+=20+(v[2]*100-v[3])/(u[v[0]%3]*5)//则进行y=y+20+(v[2]*100-v[3])/(u[v[0]%3]*5)

printf("%d,%d\n", x,y)//输出x,y的值

return 0//结束

}

运算中注意,v[0]%3为除以3后的余数。

scanf的用法,格式后的参数都必须是地址,name是数组名,本身就是数据,age和sex都是整型数据,必须使用取地址符&。

p是struct student*类型,stu是stu[3]这个数组的第一个元素的地址,p指向第一个元素,因此ABC都是对的,D错在把(int*)变量值赋值给(struct student*)变量,有个强制转换则不会错,因为age是结构体第一个变量,其地址就是结构体变量的地址。

是指针间的赋值,必须保证左右操作数的指针类型是一致的。由于n是结构体sk的第一个变量,因此其地址与结构体变量地址相同,可以强制转换得到正确的地址。

c是一个二维数组,p是一个指向数组的指针,因此p的*运算都是得到一个数组,**运算才能取到数组中的值。只有D是**运算。

扩展资料:

C语言初学者比较喜欢的Turbo C 2.0提供了400多个运行时函数,每个函数都完成特定的功能,用户可随意调用。这些函数总体分成输入输出函数、数学函数、字符串和内存函数、与BIOS和DOS有关的函数、 字符屏幕和图形功能函数、过程控制函数、目录函数等。

Windows系统所提供的Windows SDK中包含了数千个跟Windows应用程序开发相关的函数。其他操作系统,如Linux,也同样提供了大量的函数让应用程序开发人员调用。

参考资料来源:百度百科-C语言

1)i=2,就是input[2] 就是W前面的S 在swich中没有匹配到case 直接输出S

2)i=3 同上输出W

3)i=4 同上 输出I

4) 5 input5 即第六个为L continue 不操作继续下一循环

6 同3) 输出T

7为E 调到E 没有操作跳刀 case ‘L' 的continue 不操作继续下一循环

8 C 同 3) 输出C

9 H同上 输出H

10 1 终止switch 并输出空格 还在for循环中 继续下一循环

关键点 i=11时由于反斜线 \ 及其后面的是特殊字符(比如转义序列),系统读取到 \后继续读取后面的1 直到第二个\,而"\1"在C语言中不在转义序列内,因此作为一个字符 在case 1中的while循环并检查下一个input

12 同上 “\11W”作为一个字符

13同上 “\1”作为一个字符

后面的想必对题主就是小儿科啦

(纯手打、检验 望采纳)