c语言问题,在问题补充里,求详解!

作者&投稿:绽浦 (若有异议请与网页底部的电邮联系)
C语言求教,详见问题补充~

猫的文件可否提供?
#include
#include
#include
#include

int main()
{
char words[121]= {77,-29,-128,-8,-40,-85,-10,-4,-22,101,97,-50,89,-79,-45,14,73,81,98,-105,-126,-52,51,106,80,44,57,2,-1,99,-34,-9,-36,-26,123,-100,-54,-56,-19,74,117,2,90,-106,-
109,-43,-19,-103,-31,-119,17,-59,-121,49,-112,112,-20,68,-52,-33,-30,-1,-66,117,
109,116,67,-57,105,-99,77,-97,-48,58,106,-65,-47,113,-121,43,9,-63,37,47,84,-65,
-22,59,-31,-124,-69,111,56,79,-72,108,-81,126,5,99,-27,86,93,-102,-50,68,-66,66,
116,36,-110,105,107,-118,88,-8,77,-90,-78,-69,12
};
char suanzi[121];
int n;
srand(652);
for(n=0; n<121; n++)
{
suanzi[n]=(int)(rand()*255);
}
for(n=0; n<121; n++)
{
words[n]^=suanzi[n];
}
words[120]='\0';
printf("%s",words);
getch();
return 0;
}

#include#includeFILE *fp, *fp_out;void ReadDat(int aa[]){ int i; for(i = 0; i bb[k]) { temp = bb[i]; bb[i] = bb[k]; bb[k] = temp; } } } }}void WriteDat(int bb[]){ int i; for(i = 0; i < 10; i++) { fprintf(fp_out, "%d
", bb[i]); }}int main(){ int i; int aa[205], bb[15]; if((fp = fopen("file.txt", "r")) == NULL) { printf("Error1!!
"); exit(0); } if((fp_out = fopen("out.txt", "w++")) == NULL) { printf("Error2!!
"); exit(0); } ReadDat(aa); jsSort(aa, bb); WriteDat(bb); fclose(fp_out); fclose(fp); return 0;}测试的时候代码同目录下必须有一个名为file的txt文件,并且里面需要有200个正整数,否则会出错。

a=f/=c*=(x=6.5);
表达式从右边开始执行:
首先执行(x=6.5),x赋值为6.5,表达式值为6.5,将作为右值传给下一步计算。
再执行c*=(x=6.5),即c*=6.5,即c=10*6.5,c是char类型,c=65,这步表达式值为65,将作为右值传给下一步计算。
再执行f/=c*=(x=6.5),即f/=65,即f=100.0/65,f是double类型,f=1.5384...,这是表达式的值即为f的值;
最后执行a=f,a是int类型,取整后a=1。

按输出格式输出后输出结果:1 65 1.5 6.5

建议printf("%d%d%3.1f%3.1f\n",a,c,f,x);
改成printf("%d %d %3.1f %3.1f\n",a,c,f,x);使用空格或Tab隔开输出结果,以便观察。

a=f/=c*=(x=6.5);
由于赋值运算优先级是从右到左所以让我们来一一详解:
(x=6.5) 这里就是x = 6.5
c *= 6.5 就是c = c*6.5 就是c = 10*6.5 得到c = 65.0;
f /= 65.0 就是 f = f/65.0 就是100.0/65.0 取整运算 得到1..53.....很长一串
a = 1 //a是整数
因为a是整数,所以取1即 a=1
c因为是字符其实也是整数,所以c = 65
f是浮点数 得到f等于1.5
x就是6.5了

main()
{
int a; /* 定义整型变量a*/
char c=10; /* 定义字符变量c并赋初值10 */
float f=100.0; /* 定义单精度浮点型变量f并赋初值100.0 */
double x; /* 定义双精度浮点型变量x */
a=f/=c*=(x=6.5);
/* 计算步骤
* 执行x=6.5赋值表达式, x等于6.5, 表达式相当于a=f/=c*=6.5,
* 执行c*=6.5自反乘表达式, c等于65, 表达式相当于a=f/=65,
* 执行f/=65自反除表达式, f等于15.3846154(大概), 表达式相当于a=15.3846154
* 执行a=15.3846154赋值表达式, a等于15.3846154
*/
printf("%d%d%3.1f%3.1f\n",a,c,f,x);
/* 格式化输出结果
%d 以整型输出
%3.1f 以单精度浮点型输出,输出至少占3个字符位置(包括小数点),小数保留1位
*/
}

希望回答对你有帮助

楼上的思路不错,试试吧


C语言问题,dev c++不支持long long,为什么sizeof(long long)编译出来...
谁说不支持long long?include <iostream>using namespace std;int main() { long long a = 2000000000;\/\/20亿 a *= a; cout << a;\/\/400亿亿,18个零 return 0;}这跑出来是对的。至于你的问题补充,超过int范围的常量是非法的。但超过int范围的数可以在程序中跑算出来(比如...

C 语言中 关于#define 的问题
define是宏定义的意思 宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。宏定义不是说明或语句,在行末不必加分号,如...

windows7中文语言包的问题(解决100分)说到做到!
首先,选好对应版本的语言包,X86的对应X86的,64位的对应64位的。如果还是不行,可能就是区域语言没有选PRC,在控制面版里面修改区域语言,依次选region and language , administrative, change system locale,选择Chinese,然后点OK,电脑重启 重启后再安装一次语言包。希望帮得到楼主~...

c语言问题,(看补充说明) 在一个字符数组中查找一个指定字符,若数组中...
include<stdio.h>#include<string.h>int findchar(char s[],char c){ int i; for(i=0;i<strlen(s);i++) if(c==s[i])return i; return -1;}int main(){int n,i;char s[255],ch;printf("请输入一串字符:");scanf("%s",&s);getchar();printf("请输入要查找...

“不要随便把父母接到身边!”你怎么看待这句话?
子女与父母之间,年龄差异很大,生活习惯肯定有所不同。这种状态下的父母与子女,就不适合生活在一起了。如果子女与父母从小到大生活在一起,彼此熟悉对方的生活习惯,问题还不算大。……但是一旦分开,彼此之间在生活习惯上面的区别将给他们造成很大影响。因此,这种情况下子女如果想把父母接到身边,需要...

黑苹果安装过程中,出现五国语言问题,请大师解决!是Thinkpad E130系列小...
五国可以多次尝试开机,如果还是不行的话,试试命令-v,-x,-f,cpus=1,ahci=i386,arch=off等。要是还不行重新写入镜像。反复步骤,最终要是不行的话,就说明你的硬件不支持。

c语言问题,下面这段程序输出为什么是ace?
所以输出a 再执行c=getchar();此时c='c';然后比较getchar()!=' #';此时,getchar()=‘d’;但是c=‘c’;所以输出c。所以输出对的。2.有空格时,情况比较诡异。c是字符型。保留的是‘ #’中的‘#’,即最后一个字符。ac输出与前面一致。问题就是为什么输出e了。首先执行c=getchar();...

如何给小学生作文补课
一、找出小学生存在的问题 在进行作文补课之前,我们首先要了解小学生存在哪些问题。可以通过查看小学生的平时作文、听小学生口述作文等方式来了解其存在的问题,比如语文基础薄弱、思维能力不足、语言表达能力不强等。只有了解其存在的问题,才能更好地进行作文补课。二、针对性地进行作文辅导 在了解小学生...

c语言问题
a :数组名。a[4] :是指数组a中的第五个元素,数组都是从0开始的,所以第5个元素是a[4]。而++的意思就是自加一次,a[4]++ 等价于 a[4]=a[4]+1;比如说:定义一个 int a[5]={0,1,2,3,4,5,};此处的a[4]的值是4,即a[4]=4。当执行 a[4]++; 时原来的a[4]会自加...

很典型的C语言问题,++n,n++
n = n++;等价于n=n;n++;i = n++;等价于i=n;n++;另外给点补充;n++;是一个表达式,如果开始n=1;那么运行以后这个表达式等于1,n=2 ++n;也是一个表达式,如果开始n=1;那么运行以后这个表达式等于2,n=2 i=n++;i得到的是表达式的值 ...

南漳县18587898766: c语言问题,在问题补充里,求详解! -
初张联邦: a=f/=c*=(x=6.5); 表达式从右边开始执行:首先执行(x=6.5),x赋值为6.5,表达式值为6.5,将作为右值传给下一步计算.再执行c*=(x=6.5),即c*=6.5,即c=10*6.5,c是char类型,c=65,这步表达式值为65,将作为右值传给下一步计算.再执行f/=c...

南漳县18587898766: 一个C语言问题 提在问题补充哪里 求解释 在线等答案 -
初张联邦: B除数只能为正整数 C不能把变量付给变量 D y为float型,则将证书复制给他存不了

南漳县18587898766: C语言问题,求详解 以下选项中,合法的一组C语言数值常量是__________.(标准答案:D) ( -
初张联邦:[选项] A. ) 0x8A 10,000 3.e5 ( B. ) .177 4e1.5 0abc ( C. ) 028 .5e-3 -0xf ( D. ) 12. 0Xa23 4.5e0

南漳县18587898766: C语言问题,求详解~~~~ -
初张联邦: 先把q下一个元素连接到上一个:p=q->next然后再释放q:free(q)答案是B...

南漳县18587898766: C语言问题?求详解每步答案.? -
初张联邦: 第一句是++i,表示再输出操作前先自加1,即输出为9,此时i=9 第二句是--i,表示在输出操作前先自减1,即输出为8,此时i=8 第三句是i++,表示在输出后对i自加1,即输出为8,此时i=9 第四句是i--,表示在输出后对i自减1,即输出为9,此时i=8 第五句是-i++,表示先算i++,再算负号运算,由于i++需要先让i参与运算再自加,所以输出为-8,此时i=9 第六句是-i--,表示先算i--,再算负号运算,由于i--需要先让i参与运算再自减,所以输出为-9,此时i=8

南漳县18587898766: c语言编程问题求详解 -
初张联邦: #include <stdio.h> int sum(int n) { int i, s = 0; for (i = 1; i <= n; i++) s += i; return s; } int main() { printf("1 + 2 + ... + 300 = %d\n", sum(300)); return 0; } #include <stdio.h> int main() { int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) printf("%d*%d=%-...

南漳县18587898766: C语言,求解,看问题补充 -
初张联邦: #include<stdio.h> void FindMaxNum(int a[3][3]) { int temp,i,j; int doti,dotj; temp=a[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) if(temp<a[i][j]){ temp=a[i][j]; doti=i; dotj=j; } printf("the max number is:%d",temp); printf("the max number address is :(%d,%d)",...

南漳县18587898766: c语言的题目,求详细解释啊,在线等! -
初张联邦: 答案是 japan korea 理由: str[3][6]是一个二维数组,可以看成是...

南漳县18587898766: C语言问题(很急,一个程序编译没错误,但输出空白) 字打不下,放在补充问题里,求大家帮忙 -
初张联邦: 典型的判断式问题. 你在第一个(失败)的程序中的第一条if()语句里面的条件用的是赋值操作符"="而不是比较操作符"==" 你修改后,就能达到目标的输出效果了.

南漳县18587898766: C语言问题,菜鸟求详解~~ -
初张联邦: #include void main() { int n[2],i,j; for(i=0;i...

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