C语言问题,大神,小的是菜鸟,希望有详细解答

作者&投稿:五爽 (若有异议请与网页底部的电邮联系)
c语言菜鸟,求大神解答~

int (*prt)[3]和 int prt[3]的区别,你看看,一个是*prt,一个prt,第一个明显是指针,第二个是变量,所以第一个就是指向变量的指针,第二个是变量。

第二行,去掉最后的;号,这里是函数定义中的声明语句,不能加;

A) if (c<a) x=1; //为假
else if (b<a) x=2; //为假
else x=3; //上面2个if都为假,所以执行这句赋值,x=3

B) if (a<3) x=3; //为真,x=3,下面2句else都不用执行了
else if (a<2) x=2;
else x=1;

C) if (a<3) x=3; //为真,x=3
if (a<2) x=2; //为真,x=2
if (a<1) x=1; //为假

D)if (a<b) x=b; //为真,x=2
if (b<c) x=c; //为真,x=3
if (c<a) x=a; //为假

综上所述,ABD x最终都为3,只有C最终为2

详解:A意思,如果c<a,x=1;否则 如果b<a,则x=2;再否则(其他情况),x=3。此处即:3<1不成立,接着向下,2<1,也不成立,所以x=3了就。
B跟A一样,应该就会了吧。
再看C,如果a<3,则x=3;如果a<2,则x=2;如果a<2,则x=1。此处即:a为1,此时,1<3成立,所以x=3,然后执行下个if,1<2也成立,所以x值又成了2;下个if,1<1不成立,所以不执行,所以x=2.
D和C一样的。

C啊,亲

C


跪求大神,c语言问题。编程,输入1个正整数n(1<n<=10),再输入n个整数,按...
C语言实现,采用选择排序:include <stdio.h> #include <stdlib.h>#include <math.h>void Exchange(int *A,int *B) \/\/交换两个数的值{int temp;temp=*A;*A=*B;*B=temp;}void selectsort_dir(int *T,int left,int right)\/\/选择排序,[left,right]为排序范围{int i;int maxnum;do{...

一个C语言的问题,求大神解答原因!
1、sub1中的变量a,b是其所在文件中定义的,其中a是静态全局变量,b是全局变量 a会默认初始化为0,因此第一次执行sub1()时输出结果中a=0+2=2, b=3+3=6。sub2中的变量a是其所在文件中定义的静态全局变量,因为与sub1()所处不同文件,因此变量a是不同的;而变量b是与另一个文件共享的全局...

关于C语言的问题,大神们帮帮忙,拜托了,明天考试了。
5 四句语言 ++a是先自加再用a,a++是先用a原值,再自加,因为有一个++a,所以要先加自一次。3. 输出应该是 2 0(注意2和0前面都有两个空格)这个问题一样考察的--的问题 第一次循环执行两次n--,所以输出2,同理,第二次也执行两次,所以n变成了0输出,同时中断循环 ...

求助c语言大神,这个函数是什么意思,小白,希望能讲解得详细点,谢谢
fun函数中循环变量i从0,遍历到n\/2-1 而循环体内的显然是将a[i]与a[n-i-i]交换 即fun函数是将n个元素的数组k,元素逆序交换 main函数中调用fun(k,5),即将元素下标0-5的元素逆序交换,后存储的元素依次是5,4,3,2,1,6,7,8,9,10 然后再输出下标2-7的元素,即输出 321678 ...

C语言问题,求大神解释以下程序ret,getchar有什么作用,最好能够详细点...
ret这里是用来接收scanf语句的返回值的。scanf是个读取输入数据的语句,返回值是成功读取的数据个数。例如ret=scanf("%d,%d,&a,&b");这句,如果成功读取了a和b,那么scanf会返回2表示读入了两个数据。下面的循环就是表示如果读取的不是两个数,就重新提示用户输入a和b。至于getchar()是读入一个...

C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
x<<=3:把x的二进制位向左移动3位 因为x=1,所以 x的二进制为:0000 0001 向左移动3位后为:0000 1000 0000 1000转为10进制位:2^3 = 8 所以,选:D

发现了一个有趣的c语言问题,请各位大神帮忙解释一下。
1.之所以再次编译值不改变,乃是因为系统在加载可执行镜像时所选取的栈的初始地址是相对固定的,a就在这个栈上,而且程序开始到main函数执行,这是一段按部就班的例程,没有什么变数,所以a的地址不变是可以理解的。2.scanf("%d",20000)这句合法并没有什么难以理解的地方,因为指针归根到底也只是一...

C语言菜鸟级问题,求大神帮忙~~~
include <iostream> void main(){ char a[256];std::cout<<"请输入一个字符串:";std::cin>>a;std::cout<<a<<"的长度为"<<strlen(a)<<std::endl;system("pause");} sizeof获得的是整个数组的大小,如果要获得已存储的大小,要用strlen;你再试试 ...

c语言的问题,不太理解这个函数,大神给解释一下
stdin是C语言中标准输入流,一般用于获取键盘输入 所以代码 ret_val = fgets(st, n, stdin); 这里意思:从键盘读入n位字符+结束'\\0’存放到st数组中。而判断if (ret_val){。。。这里的意思:当键盘输入的字符大于一次读取缓存空间st时(ret_val 以‘\\0’结尾),通过 getchar()截取掉键盘缓...

求c语言大神,关于位段的问题
a -19, 0xed是二进制11101101,a只取低7位,1101101,a是有符号整型,最高位是1,表示负数,其余按位取反加1,010010+1,即010011,十进制19,所以a的值是-19 b 13, 0xcd是二进制11001101,b只取低6位,001101,最高位是0表示正数,1101即十进制13 c 13, 0xad是二进制10101101,c...

沿河土家族自治县17242429800: C语言问题,大神,小的是菜鸟,希望有详细解答 -
成蚂依克: A) if (c<a) x=1; //为假 else if (b<a) x=2; //为假 else x=3; //上面2个if都为假,所以执行这句赋值,x=3B) if (a<3) x=3; //为真,x=3,下面2句else都不用执行了else if (a<2) x=2;else x=1;C) if (a<3) x=3; //为真,x=3 if (a<2) x=2; //为真,x=2 if (a<1) x=1; //为假D)if (a<b) x=b; //为真,x=2if (b<c) x=c; //为真,x=3 if (c<a) x=a; //为假综上所述,ABD x最终都为3,只有C最终为2

沿河土家族自治县17242429800: 菜鸟求助C语言的一个小问题忘大神帮忙 -
成蚂依克: #include<stdio.h> int main() { int a[10],x,*p,*q; printf("请输入十个整数:\n"); for(p=a;p<a+10;++p) scanf("%d",p); printf("请输入待删数据:"); scanf("%d",&x); for(p=q=a;p<a+10;p++) if(x!=*p) *(q++)=*p; if(q==p) printf("查无此数!\n"); else { for(p=a;p<q;) printf("%5d",*p++); printf("\n"); } }

沿河土家族自治县17242429800: C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因 -
成蚂依克: 已修改,看注释#include int main() { char a[20],b[20],c[50],*p1,*p2,*p3; p1=a,p2=b,p3=c; gets(a); while(*p1) { *p2 = (*p1)+3; //对字符串中的每个字符用加3的方法加密并存入数组b p1++; p2++; }*p2='\0'; //串结束符 p2=b ; //p2重新指向b的开始位置 while(*p2) { *p3 = (*p2)-3; //对b中的字符串解密存入数组c p3++; p2++; }*p3='\0'; puts(a); //puts是输出一个串 puts(b); puts(c); return 0; }

沿河土家族自治县17242429800: 急~~~~~~~一个菜鸟的简单C语言问题,求高手解答... -
成蚂依克: 这个是char型的问题 你改成这样就行了scanf(" %c",...

沿河土家族自治县17242429800: C语言选择题小弟菜鸟,希望高手给详细解答下,谢谢
成蚂依克: 1.B 这个是判断是不是小写字母,如果是真的话,刚要同时满足两个条件,大于等于a并且小于等于z,&是并列关系,只要两个都满足,答案才是真;||是或者关系,只要其中一个满足就真. 2.B if ((j%3==0) || j%5==0)) a++;这个||是或者的意思,...

沿河土家族自治县17242429800: C语言菜鸟问题求大神帮忙看看这段代码错哪了.
成蚂依克: 有两处问题 你返回的return str2;是字符数组 char arr(char str[]);函数声明返回的是字符 这编译是通不过的还有一处是printf("%s",str[80]);str[80]你想输出什么啊?改为printf("%s",str) OK 这两处改掉就OK了 哦对了char arr(char str[]);这个有两处都要改 还有你函数的功能是做啥呀返回的字符串没有接收 那函数等于什么也没有做啊?还有还有啊for(;n<0;i++,n--) 看看n<0;的时候才会循环 那你这循环永远都不能执行啊!这里应该是n>0;

沿河土家族自治县17242429800: C语言小问题请高手不吝赐教; -
成蚂依克: 如下 while(1){ printf("请输入要查的值\n"); ret=scanf("%d",&n); //输入正确的情况下ret=1,既输入为数字的话scanf返回的是1,否则返回是0 printf("ret=%d\n",ret); if(ret==0){ printf("输入错误,请重新输入\n"); continue; } break; }

沿河土家族自治县17242429800: 求教高手一个关于C语言的菜鸟问题,谢谢了. -
成蚂依克: 因为k没有初始化,导致k一开始就可能少于1e-6,做以下更改://---------------------------------------------------------------------------#include<math.h>#include<stdio.h>main(){float x0,x1,k=1;/*注意这里*/x0=0 ;x1=0 ;while(k>0.000001){x1=cos(x0);k=fabs(x1-x0...

沿河土家族自治县17242429800: 求C语言大神指教 帮帮菜鸟吧
成蚂依克: 在同一个文件里面是完全可以的. 如果在不同的文件里,那就给调用函数添加形参,然后把新赋的值通过参数带到目标函数中去处理. 比如: #include <stdio.h> typedef struct tagStudent { int Id; char Sex; }Student; Student g_StuInfo; void Print(...

沿河土家族自治县17242429800: c语言的基础问题菜鸟啊明天要教高手帮忙在线等啊~~ -
成蚂依克: #include void main(){int x,i;printf("please input a int number:");//请输入一个数字:scanf("%d",x);//输...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网