哪位大神帮忙回答下C语言的输出结果啊?

作者&投稿:呈斩 (若有异议请与网页底部的电邮联系)
哪位大神来帮我解答下,C语言的题,阅读下列程序,写出输出结果~

1: 4,5,7,8,10
2: i=0,k=2
i=0,k=2

这个就是补码规则
看std的定义
int a:2; //a是个2位有符号整数 取值范围是-2--1( -2,-1,0,1)
int b:2 //b是个2位有符号整数
int c:1 // c是个1位有符号整数 取值范围是 -1--0 (就只有-1和0)
abc都是有符号整数,那么最高位就是个符号位了
a=1, 1的2位2进制是01 , 是个正数1
b=3, 3的2位2进制是11,是个负数,按补码规则,就是-1
c=1, 1的1位2进制就是1 ,按补码规则,就是-1

你把%d换成无符号的%u格式就会输出1,3,1了

输出的a和b分别为输入值的最高两位数 及其后续三位数。
例如:
若输入12,则输出a=12 b=0;
若输入123,则输出a=12 b=3;
若输入12345,则输出a=12 b=345;
若输入123456,则输出a=12 b=345。

取决于输入什前两位给a,后三位给b,其它的忽略
比如输入12345678
那么输出

a=12,b=345

%2d%3d限制了输入位数 如输入123456 则取12给a 取345给b了


在两个字符串中找字符 哪位大神帮忙答一下这道C语言题目啊
if(b[i] == a[j]){ judge = 0; return 0;}下面的程序从文件中获取输入,注释掉freopen那行即可变为从控制台获取输入(提交时应该要注释掉)。另外,此程序的复杂度是O(N^2),最好给出原题,可以帮你判断时间复杂度能否通过测试。include <cstdio>const int maxn = 10000;char sa[m...

在两个字符串中找字符 哪位大神帮忙答一下这道C语言题目啊
\/\/方法,找出同时在两个数组中出现的字母,做标记,剩下的就是本题结果。void GetDiffChar( char* str1, char* str2, char* strOut){ const int nCout1 = strlen(str1);const int nCout2 = strlen(str2);for(int i=0; i<nCout1; i++){ char ch = str1[i];for(int j=0; ...

c语言 这道题咋回事 哪位大神解释一下?求详细。
首先明确说一下,这种题目完全没有任何意义,而且在不同的编译器中得到的结果也不一定相同。题目本意是考查答题者对于不同类型之间的指针进行强制类型转换的理解程度。先把一个指向char类型的指针强制转换为指向long的指针(即q=(long*)p;),然后对其进行++操作,指针的自增与所指类型有关,long类型在...

我有两道c语言题要做,应该不难,请各位大神帮忙
一、下面是C语言实现以上四个功能的代码,函数包括 find_max、average、greater_than_average 和 sort,具体细节可以查看注释:include <stdio.h> void find_max(int arr[], int len, int *max) { \/\/ 找出数组中的最大数 max = arr[];for (int i = 1; i < len; i++) { if (arr[...

关于C语言的题,哪位大神帮帮忙
二进制转换 十六进制,每四位二进制表示一位十六进制即你的110100改写成0011 0100,这样换成十六进制就是0X0034

请各位C大神解答
首先不得不说的是楼上的回答是错误的,其实15!的大小已经超过了32位整型的范围了,如果你的编译器支持64位整型或者long long你可以得到准确的结果。你也可以使用double或者float得到近似结果。样例程序:include<stdio.h> int main(void) \/\/建议使用int 类型的主函数 { long long i,j,sum=0,m...

C语言 麻烦哪位大神给我逐句解释以下代码,小弟新手,求帮忙!
你那个写法有误,应该是 x *= 2; x和*=之间有空格。这个写法等效于 x = x*2;static关键字表示这个变量是个静态的,每一次进来后,x的值还等于上次退出时的值。比如第一次运行时,x=1,退出时 x=x*2, x就等于2。那么,下次再进来这个函数,x的初始值就是2,退出值就是4,再下次初始值...

大神帮忙下忙,我对这C语言有点疑惑。
楼主的程序我编译不通过,并且跟上面的示例也有出入,我按照楼主的思路修改后如下:include <stdio.h> int* abc();int main(){ int *a = abc();int *c = a;printf("a = %d\\n",*a);c = 1;printf("c = %d\\n",*a);int i;cin >> i;return 0;} int* abc(){ int b[3] =...

C语言作业哪位大神帮忙做下啊
2、下列是对s的初始化,其中不正确的是__D__ 。A.char s[5]={“abc”};B.char s[5]={ ‘a’,’b’, ‘c’};C.char s[5]=””;D.char s[5]=”abcdef”;3、下面程序的运行结果是__A__ 。#include <stdio.h>main( ){ char ch[7]={“12ab56”}; int i, s...

女朋友160CM,53KG,胸罩是40\/90的,哪位大神帮忙分析一下是什么罩杯?算大...
首先说下,内衣是分下围和罩杯的,下围指的是胸下面紧贴着的那一圈,一般由胖瘦和骨骼决定,罩杯是上下胸围的差值,10cm以内是a罩杯,10-12.5cm是b罩杯,12.5-15cm是c罩杯,15-17.5cm是d罩杯,17.5-20cm是e罩杯,22.5-25cm是f罩杯,以此类推每次增加2.5cm。罩杯大小和身高无关,和基因以及...

石鼓区19575088146: 求C语言大神解答以下程序运行后的输出结果,请写详细过程以及如何空格? -
邹泪红霉: for循环啊 也可以一次性输出多个空格,例如: printf(" ");

石鼓区19575088146: 帮忙分析C语言程序输出结果是什么! -
邹泪红霉: #include main( ) {int a,b,c;a=6 ;b=5 ;c=a+b ;printf("a+b=%d\n",c) ;}把你的程序的小问题改了一下,输出是a+b=11...

石鼓区19575088146: 初次编写c语言 求大神解答问题 我想要的输出结果为: hello world! hello wo -
邹泪红霉: 你好!ceshi函数和butler函数里的return 0;这句去掉 你想要输出hello world!那就把那三句hello world.后面的.改为!仅代表个人观点,不喜勿喷,谢谢.

石鼓区19575088146: C语言高手帮忙解释下这个程序,谢谢了.在线等回答.麻烦了.这个程序输出的结果是什么?为什么不是1.5? -
邹泪红霉: #define宏都是直接替换的,而不会计算后再替换. i= M1/M2= N*3/N*2 = 5*3/5*2 = 15/5*2 = 6; 而不是 M1=15 M2=10 i=1.5

石鼓区19575088146: C语言程序 没有错误 但是输出结果是负数...求大神解答 -
邹泪红霉: {int i; for(i=1;i<=(x-1);i++) x=x*i; 这个地方x一直在变化,不允许的,改为int i , j = x; for(i =1; i <= j -1; i ++)

石鼓区19575088146: C语言输出结果问题 -
邹泪红霉: #include int main (){ int i,j,k,s1,s2; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) { s1=i^3+j^3+k^3; s2=100*i+10*j+k;printf("s1[%d...

石鼓区19575088146: 一个C语言程序,编译不出来,麻烦大神来看看,程序的输出结果最重要! -
邹泪红霉: 对着呢,这是输出.vc++6.0编译运行都通过

石鼓区19575088146: c语言这个程序的结果是什么?求大神分析下,实在是看不懂 -
邹泪红霉: c2[3] 越界 修改如下:#include main() { char c1[60],c2[10]; int i=0,j=0; scanf("%s",c1); scanf("%s",c2); while(c1[i]!= '\0') i++; //一直到c1的最后 while(c2[j]!= '\0') c1[i++]=c2[j++]; //将c2放在c1后面 c1[i]= '\0'; printf("\n%s",c1); } 输出:EnglishGood

石鼓区19575088146: C语言程序输出结果不对,就是一个简单的公式!求教各位大神 -
邹泪红霉: 你的代码有三个地方有问题:1. a,b,c,d,e都是double类型的,因此在scanf语句和printf语句里头的%d可改成%lf.2. 在最后一行的printf语句里,你输出的是n的地址,所以你应该把&去掉.3. 同样是在最后一行的printf语句,你没有声明n所以哪来的函数n呢?即:#include<stdio.h> void main() { double a,b,c,d,e; printf("a.b.c.d\n"); scanf("%lf%lf%lf%lf",&a,&b&c,&d);e=a*b/c/d; printf("%lf\n",e); }

石鼓区19575088146: C语言,大家帮忙看看以下的结果是多少 谢谢 -
邹泪红霉: 输出的是:456但是这个只是理论上的,实际在编译器上过不去的理论上分析是这样的:p=a; //p指向a的首地址*(*(p+1)+I)实际上就是输出p[1][I],所以就是输出数组a的第...

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