题目中的s[]="134567890",怀疑是楼主写错了,少了个2,但是还是以此处写的为准。printf中的逗号表达式,是先算后面的p++,然后再计算--i,1,p++:s本身就是“1234567890”字符串的首地址,而且是char类型的,p也是char类型的,p = s + 3,那么p就是字符‘5’的地址,此时p++,++在后面,应该...
/*test1.c*/ include<stdio.h> include<stdlib.h> typedef struct node {int data;struct node *next;}listnode;listnode *creat();void output(listnode *L);void insert(listnode *L,int i,int e);int delet(listnode *L,int e);main(){int k,i,e;listnode*L;do { printf("\n");...
你这段代码就是8x8个格子,行号1-8,列号1-8,当一个格子行列号相加为偶数时,就输出你后面的东西。你后面printf("%c%没完,不知道要输出什么,请补充题目。如果是国际象棋棋盘,因该是输出一个黑色框。
include<stdio.h> int main(){ int i, j, k, b, flag = 0, a[15];for (i = 0;i < 15;i++) {scanf("%d", &a[i]);} for (i = 0;i < 14;i++) { k = i;for (j = i + 1;j < 15;j++) { if (a[j] > a[k]) {k = j;} } j = a[k];a[k] =...
include <stdio.h> void main(){ int a=1,b=0;if(!a) b++;//!a的意思是a==0这里不成立 else if(a==0)//判断这里也不成立 {//是这么分段的,所以下面的都不做了,b没有变化 if(a)b+=2;else b+=3;} printf("%d\n",b);} ...
include<stdio.h> include<stdlib.h> void fun(float *p1,float *p2,float *s){ s = (float *)calloc(1,sizeof(float)); //s此时已经不再指向a了 s = *p1 + *p2 ++; // 这句话相当于 *s=*p1+*p2;*p2=*p2+1;} main(){ float a[2] = {1.1,2.2},b[...
输出1,3,7,15,31,63.第一次循环先输出结果a=1,b=3,循环结束后此时a=7,b=15;运行第二次循环,输出a=7,b=15,循环结束后此时a=31,b=63;第三次循环输出a=31,b=63,此次循环结束后a=127,b=255=>100;退出循环
我来给你解释一下:include<stdio.h> main(){ unsigned short a=65536;%这个就是无符号短整型变量 int b;printf("%d\n",b=a) ;%把一个无符号变量赋给一个有符号的变量。运算后的结果为0 } 为什么结果为零呢?其实很简单:是这样的:有符号变量的取值范围为-32678~32767,无符号变量的取值...
输出结果为10 30 0 因为%*d表示跳过输入的一个整数,所以j是得不到你输入的20,他获取的是30 ,而最后的K因为是赋初值了,所以可以不用输入 结果相当于是你只输入了10 30 因此当你输入10 20 30时,i的值为10,j的值为30,k的值为0 ...
第一,你的函数未在main函数之前申明 就使用,难道不报错?当然这是不可能的。可以把函数体定义移到前面。修改之后应该是这样的 include<stdio.h> int p=2; //全局变量,其他地方也可见,局部函数修改其他地方也可以看见修改 int sum(int k){ static x=1;//静态变量,在此程序执行期间只初始化...