2 以下程序的输出结果是 -27 。
#include<stdio.h>
void main()
{ char c;
c=0345;
printf("%d\n",c);
}
为什么是得-27求具体过程~~~
6 若输入字符串:abcdefg<回车>,则以下while循环体将执行 0 次。
while((ch=getchar())=='g') printf("*");
为什么是0次啊,不明白~~~
15 运行下面程序,其输出结果是 321 。
#include <stdio.h>
main()
{ void printd()
int n=123;
printd(n);
}
void printd(int n)
{ int i;
if(n<0) { n=-n; putchar('-'); }
putchar(n%10+'0');
if((i=n/10)!=0) printd(i);
不太明白~~~
16 以下程序的输出结果是 abb 。
#include<stdio.h>
void main()
{ char ch[]="abc",x[3][3]; int i;
for(i=0;i<3;i++) strcpy(x[i],ch);
for(i=0;i<3;i++) printf("%s",&x[i][i]);
printf("\n");
}
17 运行下面程序,从键盘输入三个字符ab#,其输出是 ab##ba 。
#include <stdio.h>
void recursion()
{ char c;
c=getchar();
putchar(c);
if(c!='#') recursion();
putchar(c);
}
void main()
{ void recursion();
recursion();
}
18 以下程序的输出结果是__55__。
#define M 5
#define N M+M
main()
{ int k;
k=N*N*5; printf("%d\n",k);
}
19 以下程序的输出结果是 12 15 。
#include <stdio.h>
void swap(int *a, int *b)
{ int *t ;
t=a; a=b; b=t;
}
void main()
{ int i=12, j=15, *p=&i, *q=&j;
swap(p,q);
printf("%d %d\n", *p,*q);
}
谢谢高手们了~~~~
谢谢嘎
c语言在线答疑,求高人指导~~~谢谢了~~~
第一个:你定义的是char,其表示范围是-128到127;你的0345是八进制数,换算成十进制是229,原码是11100101,反码是10011010,补码是10011011,其表示的就是-27的二进制数在计算机里面的存储。第二个:((ch=getchar())=='g') ,这个条件判断中的ch=getchar()这个表达式的值在你输入a的时候,不...
C语言问题,求大神解答
\/\/Node* head表示头指针 \/\/头指针指向头结点,头结点的值无用,头结点的指针指向链表内第一个元素 \/\/当NULL == head->next时链表为空,当NULL == head时链表为无效链表 include <stdio.h> include <stdlib.h> typedef struct Node { int val;struct Node* next;}Node;void* _malloc(size_...
这个C语言编程不会,求高人指导下,谢谢、主函数sumA,B,C我该怎么用?
请注意,我在函数定义中使用了`int *sum`来传递求和结果的指针,这样可以在`main`函数中获取最终的求和结果。同时,我也包括了函数原型声明,这是C语言编程中的一个好习惯,它有助于编译器在编译时进行类型检查。此外,我修正了一些语法错误,比如`scanf`的格式字符串中的`%d`应匹配`int`类型的变量...
一些C语言题目!求高手答疑!谢谢了!!!
1,int和char虽然可以转换,但是如果互相转换了,想得到的原值就不一样了。2,第一条语句语法上应该是错误的;第二条把float类型的f模以int类型的i后,把他们的结果转换成(int)3.double是占8个字节,folat和int都占4个字节,char占一个字节,所以double比她们高位,所以低位向高位进行自动类型提升、...
C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
主要考察你c语言三目运算符的结合方向 是自右向左的 所以a<b?a:c<d?c:d 可以看成 a<b?a: (c<d?c:d) 1 < 4 ? a : (c < d ? c:d)括号内的表达式也可以看做是一个元素 因为 a = 1 b = 4 所以 条件 a < b 成立 所以选前者 a 答案就是 A) 1 ...
C语言,求解答,谢谢
您好,很高兴回答您的问题。其实这个题目主要是考察运算符的优先级别。在C语言中,赋值运算符=的优先级别高于逗号运算符;,所以这个题目其实是先把3*5=15先赋值给变量a,然后再运算逗号表达式15,a*4,a+5。因为最后是要输出a的值,而除了赋值之外,a的值并没有再发生变化,所以最后a的值为15。
C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
x<<=3:把x的二进制位向左移动3位 因为x=1,所以 x的二进制为:0000 0001 向左移动3位后为:0000 1000 0000 1000转为10进制位:2^3 = 8 所以,选:D
c语言问题 问题很多啊 谢谢指导
int data1(int c,int d);int data2(int c,int d);\/\/函数的定义在主函数之后应该在主函数之前定义。int a[]={31,28,31,30,31,30,31,31,30,31,30,31};int b[]={31,29,31,30,31,30,31,31,30,31,30,31};\/\/因为你在函数的定义中使用了这两个数组,所以他们是全局变量,应在...
C语言求救~~~
void main (){ int x;printf("input x:");scanf("%d",&x);if (x>0) printf("y=1\\n");if (x==0) printf("y=0\\n");if (x<0) printf("y=-1\\n");} else if的 include<stdio.h> void main (){ int x;printf("input x:");scanf("%d",&x);if (x>0) printf("y...
C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下。
B.float add(float x,y) \/\/第二个参数,没有数据类型说明,应该是float add(float x, float y){return(x+y);} C.int add(x,y) \/\/两个参数,都没有数据类型说明,而且花括号内的float x,y \/\/是定义的临时变量,不是形参类型 {float x,y;return(x+y);} D.int add(x,y...