字符在内存中,是以ASCII保存的 '0'对应的ASCII值为48 ‘6’对应的ASCII值为54 ASCII值是可以和int一样进行加减运算的 ‘0’+‘6’的ASCII值为102 而printf("%d\n",c1+c2);的时候,%d表示以数字的形式输出,即输出ASCII值,所以运行结果为102 char...
你的代码是不是敲错了。应该是while((ch=getchar())!='\n')这样吧,它所完成的功能是,如果你不敲入回车键,直接输入很多字符,当你敲回车键后,会把所有的字符付给ch例如:while((ch=getchar())!='\n'){ putchar(ch);} 会有如下结果:当你输入abcde敲回车后 输出:abcde 如果按你的...
include <stdio.h> void main(){FILE *fp;int a[10]={1,2,3},i,n;fp=fopen("dl.dat","w");//打开这个文件以写的方式 for(i=0;i<3;i++) fprintf(fp,"%d",a[i]);//把123依次写入这个文件 fprintf(fp,"\n"); fclose(fp);//把这个文件写入磁盘,并且关闭文件 fp=fopen("...
答案是 28 程序中的外循环k从5到2中,实际取作用的是最后一次循环,即k=2,因此程序等价于下面:include <stdio.h> void main(){ int k,j,m;k=2;m=0;for (j=k;j<=5;j++)m=m+k*j;printf("%d\n",m);} 此程序就是计算m=2*2+2*3+2*4+2*5=28 include...
include <stdlib.h> include <stdio.h> void main( ){ char c1,c2 ;c1='a' ;c2='b' ;printf("%c%c\n",c1,c2);system("pause");}
printf("%d\n",a>100);这里a>100是个表达式,a=100,那么a>100是假,所以是0,a<=100是真,所以是1,你想达到输出可以这样写 if(a>100)printf("a>100\n"); else printf("a<=100\n"); 直接在格式语句中写就行。额
首先指出程序中的三处错误,第一个是int m n中间应该有逗号,第二个是swtich拼写有错误,第三个是打印输入语句printf("x=%d,y=%d",x,y)有误。修正后程序的运行结果是:x=6,y=6。代码运行结果如下图所示:程序运行过程解析:1、完成变量的赋值,其中有x=1,y=1,m=1,n=1。2、执行第一...
代码如下:include <stdio.h> int main(){ printf("输出水仙花数:\n");int i=100;for( ; i<1000; i++){ int num_0 = i%10;int num_1 = i/10%10;int num_2 = i/10/10%10;if(i==(num_0*num_0*num_0+num_1*num_1*num_1+num_2*num_2*num_2))printf("%d\t", i...
错误就这 *q = NULL,赋初值就在这里 而 *q= *(p + 5); 是 给内存(指针所指地方)存数据 无法往 NULL 存数据吧 因为
错误有两个 ①int main()而不是void main()②printf时,内部的双引号必须是英文的,你用的中文的就要错。以下是大概修补后的代码。include<stdio.h>int main() {int x,y,z;x=y=2;z=3;y=z++-1;printf("%d\t%d\t",x,y);y=++x-1;printf("%d\t%d\n",x,y);y=z---1;printf...