(入门级)C语言程序 看不懂,求详细讲解注释

#include<stdio.h>
int main()
{ chars[ ]="GFEDCBA";
int p=6;
while(s[p]!=‘D’)
{ printf("%c ", s[p]);
p=p-1; }
return 0;
}

输出是ABC,我看不懂程序意思,求每行注释。

还有一题:

main()
{ int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d ",n1); } }

#include<stdio.h>
int main()
{   chars[ ]="GFEDCBA";         //一个字符串s
    int  p=6;                   //p为6
while(s[p]!=‘D’)                //s[6]开始循环,即从A开始满足条件打印。接着是s[5]即B也满足,然后是s[4]即C也满足。然后是D不满足退出循环
{    printf("%c  ", s[p]);      //打印s[p]字符
p=p-1;     }                    //p减少1,即往前面移动
return 0;
}

输出是ABC,我看不懂程序意思,求每行注释。   

还有一题:

 main()
{  int n1,n2;                   //两个整数
scanf("%d",&n2);                //输入n2
while(n2!=0)                    //当n2不为0
{  n1=n2%10;                    //n1为n2的个位数字
n2=n2/10;                       //n2/10消除掉个位
printf("%d   ",n1);   }     }   //打印n1即n2的个位数字
                                //整个程序的含义就是将数字123打印成  3 2 1

追问

请问... p减少1,即往前面移动的意思是什么....

追答

p减少1,原来是6,现在是5,那在字符串中的位置就前移了,原来指向A,现在变指向B了

即指向字符串中的位置前移动了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-26
#include<stdio.h>
int main() {
char s[] = "GFEDCBA"; // 字符数组共有7个字符,索引位置是0 -- 6
int p = 6; // 此时s[p]是'A'
while(s[p] != 'D') { // 从'A'开始往前读字符,遇到'D'后结束循环
printf("%c ",s[p]); // 不是'D'就打印
p = p - 1; // 往前移动索引
}
return 0;
}

#include<stdio.h>
int main() {
int n1,n2;
scanf("%d",&n2); // 读入一个整数
while(n2 != 0) { // n2非0是继续循环
n1 = n2 % 10; // 得到n2的末位
n2 = n2/10;   // 去除n2的末位
printf("%d ",n1); // 显示n2 的末位
}
return 0;
}
// 该段代码用来倒序显示一个整数

第2个回答  2013-12-26
#include<stdio.h>
int main()
{   chars[ ]="GFEDCBA";
    int  p=6;    /*从字符的第7个位置逆序查找*/
while(s[p]!=‘D’) /*查找字符为D的*/
{    
printf("%c  ", s[p]); /*输出当前字符*/
p=p-1;     }          /*下标减一*/    
return 0;
}
 
/*此代码的功能就是取输入的一个数的最高位*/
main()
{  int n1,n2;
scanf("%d",&n2);    /*输入n2*/
while(n2!=0)    /*n2 不为0 的时候循环*/
{  n1=n2%10;    /*n1 取 n2 的个位数*/
n2=n2/10;        /*n2 减小10倍,其实就是十进制右移一位*/
printf("%d   ",n1);   /*输出n1*/}     
}

相似回答