ddgw.net
当前位置:首页 >> C语言问题 #inCluDE<stDio.h> voiD mAin() {int i=... >>

C语言问题 #inCluDE<stDio.h> voiD mAin() {int i=...

#include <stdio.h> int main() {int i=5; char c[6]="abcd"; do{c[i]=c[i-1];} while(--i>0); puts(c); return 0; }

i++是先执行本语句在自增++i是先自增在执行语句 而且C语言从右边开始执行 第一个从右执行顺序i++,++i,所以是3,4 第二个从右执行顺序++i,i++,所以是4,4

答案为C) 2,5,1,2,3,-2 void main( ){ int a=3,b=2,c=1; c-=++b; //b=3, c=c-b=1-3=-2 ,a=3 b*=a+c; //b=b*(a+c)=3*(3-2)=3 a=3 c=-2 { int b=5,c=12; //局部变量 b=5 ,c=12,全局变量a=3,b=3,c=-2 c/=b*2; a-=c; //局部变量c=1, b=5, 全局变量a=2 ,b=3,

for(i=0;i*(a+i)) { c=*(a+i); p_c=&a[i];} }循环后 b最大 c最小 p_b指向13 p_c指向-21i=*a; *a=*p_b; *p_b=i; a的第一个元素和13交换 i=*(a+5); *(a+5)=*p_c; *p_c=i;a的最后一个元素和-21交换最后(13,10,-3,1,7,-21),

输出语句有问题 %c改成%s

#include int main() {int i=5; char c[6]="abcd"; do{c[i]=c[i-1];} while(--i>0); puts(c); return 0; }

{int*p,a[N],i,j,temp; for(i=0;ia[j+1]) {*temp=*p[j]; *p[j]=*p[j+1]; *p[j+1]=*temp; 来改动指针的指向,使得a[]数组随之变化来实现冒泡 或者你是这样想 a数组里面的值不变,实现排序*p 那if条件改成 if(*p[j]>*p[j+1]) 这样才能通过指针地址的改变实现对*p数组的排序 a数组的内容不变

while(i--) printf("%d",--i); 相当于 while(i!=0){ i--; //i-- 先取值再 i=i-1;--i; printf("%d",i); //--i 先i=i-1 再取i值 } 循环开始 i =6; 第1次循环 :i=6判断 i !=0为真 运算两次i = i-1; i值为4; 输出4 第2次循环 :i=4判断 i !=0为真 运算两次i = i-1; i值为2; 输出2 第3次循环 :i=2判断 i !=0为真 运算两次i = i-1; i值为0; 输出0 第4次循环 :i=0判断 i !=0为假 循环结束

首先明白一点:函数的使用都要进行定义和声明的!.h是头文件,头文件是包含函数声明和定义的文件;你平时写C语言时,用到的printf()() 和scanf()都是系统定义好的,而这些函数的定义就包含在stdio.h这个文件中!#include是编译预

你的错误在于程序要进行50次循环,而不会中途退出(你的目的在于数出字符数,所以要让程序可以自动识别结束符!); 修改如下: #include void main() { char a[50]; int i,num; gets(a); for(i=0,num=0;i 全部

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.ddgw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com