RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [資訊電機] [問題]c++一次輸入很多個字元的問題   字型大小:||| 
老江
版主
等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30
School Days推廣

 . 積分: 391
 . 精華: 1
 . 文章: 3664
 . 收花: 1702 支
 . 送花: 8225 支
 . 比例: 4.83
 . 在線: 650 小時
 . 瀏覽: 18020 頁
 . 註冊: 7244
 . 失蹤: 261
#1 : 2005-5-4 09:52 PM     只看本作者 引言回覆

原碼
#include<stdio.h>
void shift(char *v,char *w,char *x,char *y,char *z);
int main(void)
{
    char a,b,c,d,e;
    printf("請輸入五個字元>");
    scanf("%c %c %c %c %c",&a, &b, &c, &d, &e);
    shift(&a, &b, &c, &d, &e);
    printf("%c%c%c%c%c\n",a,b,c,d,e);

    return 0;
}
void shift(char *v,char *w,char *x,char *y,char *z)
{
     char t1;
     t1=*v;
     *v=*w;
     *w=*x;
     *x=*y;
     *y=*z;
     *z=t1;
}

這個我是想要做出像輸入abcde輸出bcdea這樣
不過在輸入完之後按下enter程式就自己關掉了
於是我記取了上次的教訓
加上了迴圈看看
#include<stdio.h>
void shift(char *v,char *w,char *x,char *y,char *z);
int main(void)
{
    char a,b,c,d,e;
    while(2){
    printf("請輸入五個字元>");
    scanf("%c%c%c%c%c", &a, &b, &c, &d, &e);
    shift(&a, &b, &c, &d, &e);
    printf("%c%c%c%c%c\n",a,b,c,d,e);
}
    return 0;
}
void shift(char *v,char *w,char *x,char *y,char *z)
{
     char t1;
     t1=*v;
     *v=*w;
     *w=*x;
     *x=*y;
     *y=*z;
     *z=t1;
}
結果可以看到我要的
但是第二個迴圈開始又是亂七八糟
不過那是getchar的問題就算了
我想問的是為什麼我第一個程式會沒辦法做第二個printf出來就直接關掉了



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8008
 . 失蹤: 5361
#2 : 2005-5-5 02:14 AM     只看本作者 引言回覆

你怎樣執行你的程式的? @_@
在Windows 底下...你如果執行command line 程式, 程式執行完, 該視窗會被關閉
你應該先開啟"命令列模式" 的視窗
然後才從該視窗內去執行你的程式
這樣子, 視窗就不會被關閉, 你就能看見你的程式的執行結果

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
老江
版主
等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30
School Days推廣

 . 積分: 391
 . 精華: 1
 . 文章: 3664
 . 收花: 1702 支
 . 送花: 8225 支
 . 比例: 4.83
 . 在線: 650 小時
 . 瀏覽: 18020 頁
 . 註冊: 7244
 . 失蹤: 261
#3 : 2005-5-5 07:06 PM     只看本作者 引言回覆



我都編譯完之後
直接點那個執行來看



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8008
 . 失蹤: 5361
#4 : 2005-5-6 02:34 AM     只看本作者 引言回覆

不行哩... 理論上... 他是呼叫外部執行... 跟你從XP 直接執行一個DOS 程式意思一樣
你必須進入命令列模式後, 才去執行那個程式才行

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
deeping
開墾隊隊員
等級: 11等級: 11等級: 11等級: 11


今日心情

 . 積分: 300
 . 精華: 2
 . 文章: 278
 . 收花: 1698 支
 . 送花: 2214 支
 . 比例: 1.3
 . 在線: 6973 小時
 . 瀏覽: 47727 頁
 . 註冊: 7092
 . 失蹤: 1
#5 : 2005-5-6 11:37 AM     只看本作者 引言回覆


引用:
老江寫到:


我都編譯完之後
直接點那個執行來看


試看看最後加個
    system("PAUSE");
   return EXIT_SUCCESS;
應該就會在dos窗下顯示後停止了^_^



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
DK
版主
等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30
dk01

 . 積分: 772
 . 文章: 3983
 . 收花: 3244 支
 . 送花: 1029 支
 . 比例: 0.32
 . 在線: 393 小時
 . 瀏覽: 5760 頁
 . 註冊: 8003
 . 失蹤: 1021
#6 : 2005-5-6 06:25 PM     只看本作者 引言回覆

印象中直接在return 0前面加system("PAUSE");就可避免執行完直接關掉.
不過標頭檔應該要加

#include <stdlib.h>



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
老江
版主
等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30
School Days推廣

 . 積分: 391
 . 精華: 1
 . 文章: 3664
 . 收花: 1702 支
 . 送花: 8225 支
 . 比例: 4.83
 . 在線: 650 小時
 . 瀏覽: 18020 頁
 . 註冊: 7244
 . 失蹤: 261
#7 : 2005-5-6 07:57 PM     只看本作者 引言回覆


引用:
DK寫到:
印象中直接在return 0前面加system("PAUSE");就可避免執行完直接關掉.
不過標頭檔應該要加

#include <stdlib.h>

那個我有加
不過因為copy太順
論壇把< 跟>看成是html語法所以就沒出現



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記
etsos
驢手小試
等級: 2


今日心情

 . 積分: 7
 . 文章: 13
 . 收花: 62 支
 . 送花: 0 支
 . 比例: 0
 . 在線: 32 小時
 . 瀏覽: 390 頁
 . 註冊: 7175
 . 失蹤: 5650
#8 : 2005-9-30 01:51 AM     只看本作者 引言回覆

在最後面加入getch();


[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  新增/修改 爬文標記

   



 



所在時區為 GMT+8, 現在時間是 2024-4-28 10:26 PM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.031997 second(s), 8 queries , Qzip disabled