求c语言大神详细说明这个程序(输入字符串,然后反向输出) c语言:输入一串带空格的英文字符串,然后逆序输出。自己编写的...

c\u8bed\u8a00\uff0c\u5927\u795e\u770b\u8fc7\u6765\uff0c\u8dea\u6c42\u4e86\u3002 \u7f16\u5199\u4e00\u4e2a\u7a0b\u5e8f\uff0c\u5c06\u8f93\u5165\u7684\u5b57\u7b26\u4e32\u6309\u9006\u5e8f\u5b58\u653e\u540e\u8f93\u51fa\u3002

#include
#include

void func(char *s)
{int i,j;
char t;
for(i=0,j=strlen(s)-1;i<j;i++,j--)
{t=s[i];
s[i]=s[j];
s[j]=t;
}
puts(s);
}
\u8c03\u7528\u8fd9\u4e2afunc\u51fd\u6570\u5c31\u80fd\u529e\u4e86

\u53ef\u4ee5\u5c06\u6574\u6570\u5f53\u505a\u5b57\u7b26\u4e32(\u5b57\u7b26\u4e32\u957f\u5ea6\u4e0d\u8d85\u8fc710)\u63a5\u6536\uff0c\u7136\u540e\u53cd\u5411\u8f93\u51fa\u5b57\u7b26\u6570\u7ec4\u5143\u7d20\u5373\u53ef\u3002
\u5b57\u7b26\u4e32\u5b9e\u9645\u957f\u5ea6\u53ef\u4ee5\u7528strlen\u51fd\u6570\u6765\u8ba1\u7b97\u3002

\u65b9\u6cd5\u7a0b\u5e8f\u5982\u4e0b\uff1a
#include
#include
main()
{char a[10];int i,j;
scanf("%s",a);
j=strlen(a);
for(i=j-1;i>=0;i--)
printf("%c",a[i]);
printf("\n");}
\u6269\u5c55\u8d44\u6599\uff1a
C\u8bed\u8a00\u9ad8\u6548\u7f16\u7a0b\u6280\u5de7\uff1a
\u4e00\uff1a\u4ee5\u7a7a\u95f4\u6362\u65f6\u95f4
\u8ba1\u7b97\u673a\u7a0b\u5e8f\u4e2d\u6700\u5927\u7684\u77db\u76fe\u662f\u7a7a\u95f4\u548c\u65f6\u95f4\u7684\u77db\u76fe\uff0c\u90a3\u4e48\uff0c\u4ece\u8fd9\u4e2a\u89d2\u5ea6\u51fa\u53d1\u9006\u5411\u601d\u7ef4\u6765\u8003\u8651\u7a0b\u5e8f\u7684\u6548\u7387\u95ee\u9898
\u4e8c\uff1a\u6570\u5b66\u65b9\u6cd5\u89e3\u51b3\u95ee\u9898
\u6570\u5b66\u662f\u8ba1\u7b97\u673a\u4e4b\u6bcd\uff0c\u6ca1\u6709\u6570\u5b66\u7684\u4f9d\u636e\u548c\u57fa\u7840\uff0c\u5c31\u6ca1\u6709\u8ba1\u7b97\u673a\u53d1\u5c55\uff0c\u6240\u4ee5\u5728\u7f16\u5199\u7a0b\u5e8f\u7684\u65f6\u5019\uff0c\u91c7\u7528\u4e00\u4e9b\u6570\u5b66\u65b9\u6cd5\u4f1a\u5bf9\u7a0b\u5e8f\u7684\u6267\u884c\u6548\u7387\u6709\u6570\u91cf\u7ea7\u7684\u63d0\u9ad8\u3002
\u4e09\uff1a\u4f7f\u7528\u4f4d\u64cd\u4f5c
\u5b9e\u73b0\u9ad8\u6548\u7684C\u8bed\u8a00\u7f16\u5199\u7684\u7b2c\u4e09\u62db----\u4f7f\u7528\u4f4d\u64cd\u4f5c\uff0c\u51cf\u5c11\u9664\u6cd5\u548c\u53d6\u6a21\u7684\u8fd0\u7b97\u3002
\u5728\u8ba1\u7b97\u673a\u7a0b\u5e8f\u4e2d\uff0c\u6570\u636e\u7684\u4f4d\u662f\u53ef\u4ee5\u64cd\u4f5c\u7684\u6700\u5c0f\u6570\u636e\u5355\u4f4d\uff0c\u7406\u8bba\u4e0a\u53ef\u4ee5\u7528\u201c\u4f4d\u8fd0\u7b97\u201d\u6765\u5b8c\u6210\u6240\u6709\u7684\u8fd0\u7b97\u548c\u64cd\u4f5c\u3002\u4e00\u822c\u7684\u4f4d\u64cd\u4f5c\u662f\u7528\u6765\u63a7\u5236\u786c\u4ef6\u7684\uff0c\u6216\u8005\u505a\u6570\u636e\u53d8\u6362\u4f7f\u7528\uff0c\u4f46\u662f\uff0c\u7075\u6d3b\u7684\u4f4d\u64cd\u4f5c\u53ef\u4ee5\u6709\u6548\u63d0\u9ad8\u7a0b\u5e8f\u8fd0\u884c\u7684\u6548\u7387\u3002

//原程序:
#include <stdio.h>
void reverse()
{
    char c;                    
    if((c = getchar()) != '
') /*c =getchar()先把键入的一个字符赋值给c,再判断                                   键入的是否为回车*/
        reverse();              /*若当前键入不是回车,再次调用一次自定义函数,注                                  意此时第一次调用还没有结束;若当前键入回车,即                                   输入字符串结束符时,则无任何操作,进入下一轮判                                  断*/
    if(c != '
')               /* 如果当前不是回车就输出当前的字符。由于最后一                                    个字符必定是回车所以最后一次调用相当于无任何                                     操作,此时函数并不是结束,而是返回上一层调用                                    点即倒数第二次调用,去执行上次未执行的语句if                                    (c != '
') putchar(c);这时就输出了倒数第一                                     个非空字符,此后再返回倒数第三次调用的断点输                                   出倒数第二个非空字符,以此类推……实现倒序输                                    出。*/
        putchar(c);
}

void main()
{
    reverse(); //程序开始,第一次调用自定义函数reverse()
    printf("
");

}

//我的程序:
#include<stdio.h>
#include<string.h>
void main()
{
 char a[100];
 int i,j;
 printf("请输入一个字符串:");
 scanf("%s",&a);
 j=strlen(a);
 printf("它的倒序字符串为:");
 for(i=j-1;i>=0;i--)
   printf("%c",a[i]);
 printf("
");
}



reverse()函数有递归调用,当你输入abcdef时,

第1次调用:c=a,
第2次调用:c=b,
第3次调用:c=c,
第4次调用:c=d,
第5次调用:c=e,
因为前面的调用必须在后面的调用执行完后才执行putchar(c);所以

最后一次调用并输出:e,然后返回上一层调用,输出d,再返回上一层调用,输出c,依次类推,

  • c璇█姹s=1!+2!+3!+?+n!(n鐢辫緭鍏ュ喅瀹)銆姹傚ぇ绁鑳璇︾粏瑙h涓涓杩欎釜绋嬪簭...
    绛旓細绗簲琛屼唬鐮侊細for(i=1;i<=n;i++)//杩涘叆for寰幆锛屽閮╢or寰幆鐨勪富瑕佷綔鐢ㄦ槸杩涜闃朵箻鐨勬眰鍜屻傜鍏竷鍏浠g爜锛歵=1;for(j=1;j<=i;j++)t=t*j;//寮曠敤t杩欎釜鍙橀噺杩涜瀵筰杩欎釜闃朵箻鐨勮绠楋紝骞跺皢缁撴灉鍌ㄥ瓨鍦╰涓傚唴閮ㄧ殑for寰幆鐨勪富瑕佷綔鐢ㄦ槸璁$畻闃朵箻銆傜涔濊浠g爜锛歴un=sum+t;//璁$畻闃朵箻鐨勫拰銆傜鍗...
  • 姹俢璇█澶х璇︾粏璇存槑杩欎釜绋嬪簭(杈撳叆瀛楃涓,鐒跺悗鍙嶅悜杈撳嚭)
    绛旓細//鍘绋嬪簭锛#include <stdio.h>void reverse(){ char c; if((c = getchar()) != '\n') /*c =getchar()鍏堟妸閿叆鐨勪竴涓瓧绗﹁祴鍊肩粰c锛屽啀鍒ゆ柇 閿叆鐨勬槸鍚︿负鍥炶溅*/ reverse(); /*鑻ュ綋鍓嶉敭鍏ヤ笉鏄洖杞︼紝鍐嶆璋冪敤涓娆¤嚜瀹氫箟鍑芥暟锛屾敞 鎰忔鏃剁涓娆¤皟鐢ㄨ繕娌℃湁缁撴潫;鑻ュ綋鍓嶉敭...
  • 姹俢璇█澶х,鍛婅瘔鎴戠瓟妗堝苟瑙f瀽!閲嶇偣鏄В鏋!!绋嬪簭濡備笅銆
    绛旓細++p.a 鍚庢槸21 绛旀D
  • 姹侰璇█鐨澶х甯垜瑙i噴涓杩欎釜绋嬪簭鍚,鏈濂芥瘡鍙ユ爣娉ㄤ笅銆傝阿璋~
    绛旓細鏄嚜閫傚簲婊ゆ尝鍣ㄧ畻娉曠殑C璇█绋嬪簭锛屽湪DSP鑺墖VC5509涓婏紝鐢–CS
  • 姹侰璇█澶х璇︾粏瑙i噴涓涓嬬殑绋嬪簭
    绛旓細DEFINE_CG_MOTION(piston,dt,vel,omega,time,dtime){ Thread *t;瀹氫箟thread face_t f;瀹氫箟涓闈㈢鍙 real NV_VEC(A);瀹氫箟闈㈢Н real force, dv;瀹氫箟鍔 /* reset velocities */ NV_S(vel, =, 0.0);涓変釜鏂瑰悜绾块熷害涓0 NV_S(omega, =, 0.0);涓変釜鏂瑰悜瑙掗熷害涓0 if (!Data_Valid_P...
  • 姹澶х璇︾粏瑙g瓟涓涓C璇█绋嬪簭,姣忔閮藉啓鍑烘潵,楹荤儲浜!!!璋㈣阿銆
    绛旓細{ static char s[20];//static鏄畾涔夐潤鎬佸彉閲忓叧閿瓧锛岄粯璁ゆ槸auto銆俿tatic鐨勪綔鐢ㄥ氨鏄畠鎵瀹氫箟鐨勫彉閲忥紝//鍙鏁翠釜绋嬪簭娌℃湁閫鍑猴紝杩欎釜鍙橀噺鎵瀛樼殑鏁版嵁灏变笉浼氳鑷姩娓呯┖銆俿tatic int c=0;//鍒濆鍖栦负0锛岃繖涓彉閲忕敤鏉ユ爣璁扮殑銆備笅闈細璇村畠鐨勭敤閫 char t[10]={0},i=0,j,k;//鍓嶉潰杩欎簺浜嬪畾涔夊彉閲忥紝娌...
  • c璇█,璇峰府鎴璇︾粏鍒嗘瀽涓涓杩欎釜绋嬪簭銆傝阿璋
    绛旓細int i=0;int fun1(int i){ i=(i%i)*((i*i)/(2*i)+4);//i%i琛ㄧずi闄や互i鐨勪綑鏁拌偗瀹氭槸0锛屾墍浠ユ渶鍚巌 = 0;printf("i=%d\n",i); //鏄剧ずi鐨勫 return (i); //杩斿洖i鐨勫 } int fun2(int i){ i=i<=2?5:0; //濡傛灉i<=2锛宨灏辩瓑浜5锛屽惁鍒欑瓑浜0锛況eturn (i);} void ...
  • 姹侰璇█澶х璁茶В涓涓杩欎釜绋嬪簭绠楁硶鐨勬剰鎬,灏辨槸涓轰粈涔堣杩欐牱绠??鎴戣兘鐪...
    绛旓細棣栧厛鍦ㄤ綘鎻愪緵鐨勫嚱鏁颁腑姹備袱涓暟a鍜宐鐨勬渶澶у叕绾︽暟鐢ㄧ殑鏄緱杞浉闄ゆ硶锛杩欎釜绠楁硶鍙互浠庢暟瀛﹀垎鏋愬叆鎵嬪幓鐞嗚В瀹冿細1銆佸鏋渁闄や互b鐨勪綑鏁颁负r锛屽晢涓簈锛屽垯鍙互琛ㄧず鎴 a = q*b + r锛屼笅闈㈣瘉鏄庯細(a,b) = (b,r)濡傛灉d涓篴鍜宐鐨勬渶澶у叕绾︽暟锛屽垯鐢盿 = q*b + r 鐭ワ紝d鑳芥暣闄ょ瓑寮忕殑宸︿晶锛岄偅涔堜篃蹇呯劧鑳...
  • C璇█姹傚ぇ绁炶缁瑙i噴涓涓杩欎釜绋嬪簭鐨勮繍琛岃繃绋
    绛旓細char瀹氫箟涓涓暟缁勶紱濡傛灉璋冪敤鐨勬墦寮鏂囦欢鍑芥暟杩斿洖鐨勫弬鏁颁笉鏄枃浠舵寚閽堣屾槸涓篘ULL锛岃緭鍑洪敊璇紝骞舵帹鍑猴紙exit 锛夎緭鍑轰袱鍙ヨ瘽锛氭牸寮忓寲杈撳叆锛屽彧瑕佽緭鍏ヤ笉涓虹┖锛屽垯鍏ㄩ儴杈撳嚭鍒版枃浠舵寚閽堟寚鍚戠殑鏂囦欢涓幓锛佽緭鍑轰竴鍙ヨ瘽 鎶婃枃浠朵腑 鈥滃厜鏍団濓紙涓嶇煡閬撶敤涓粈涔堣瘝锛夊洖鍒版枃浠剁殑寮濮嬪銆傚彇鏂囦欢鎸囬拡鎸囧悜鐨勬枃浠朵腑鐨勫瓧绗 濡傛灉杩斿洖鏄1 ...
  • 姹傚ぇ绁灏嗕笅闈㈢殑C璇█绋嬪簭姣忎竴琛岄兘娉ㄩ噴涓涓,寰堟ヨ阿璋㈠暒!
    绛旓細return 0;} void inverse(char str[]) // 瀵瑰瓧绗︿覆杩涜缈昏浆{ char t; int i, j; for(i=0, j=strlen(str); i<(strlen(str)/2); // i 浠0鍒板瓧绗︿覆闀垮害鐨勪腑闂 i++, j-- // i銆乯 鍒嗗埆鍚戜腑闈犳嫝 ) { t=str[i]; str[i]=str[...
  • 扩展阅读:c十十编程要学多久 ... 这三种人不适合学编程 ... 初学编程必背50个 ... c语言流程图生成器 ... c语言期末考试必背100题 ... c语言打擂台法流程图 ... 大一c语言必背编程题 ... c语言入门程序 ... c语言编一个最简单的程序 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网