2015-10-16 36 views
-1

我希望這兩個函數能夠在輸入「退出」一詞時停止程序,但該規範的循環不起作用。你能解決這個問題嗎?字符串函數中的程序退出 - 上至下字符,反之亦然

這是代碼。請檢查一下。

#include<stdio.h> 
#include<string.h> 


void uppercase(char *str) { 
    int i; 

    for(i=0; i<=strlen(str); i++) { 

     if(str[i]>=65&&str[i]<=90) 

      str[i]=str[i]+32; 
    } 

    printf("\nThe string in lower case is->%s\n",str); 
} 

void lowercase(char *str) { 
    int i; 

    for(i=0; i<=strlen(str); i++) { 

     if(str[i]>=97&&str[i]<=122) 

      str[i]=str[i]-32; 
    } 


    printf("The uppercase equivalent is: %s\n", str); 
    getchar(); 

} 

int main() 
{ 
    char str[100]; 
    char lower[100]; 
    int i; 


    while(1) 
    { 

     printf("Enter any string->"); 
     scanf("%s",&str); 

     if (str == 'exit') 
     { 
      break; 
     } 
     else 
     { 
      printf("The string is->%s\n",str); 

      uppercase(str); 

      lowercase(str); 
     } 
    } 
    return 0; 
} 
+2

如何共享一些代碼,所以我們實際上可以看到你在說什麼? – Mureinik

回答

0

取代:

if (str == 'exit') 

if (strcmp(str , "exit")==0) 
+0

如何在這個程序中使用islower()和isupper()? –

0
void uppercase(char *str){ 
    int i; 

    for(i=0;i<strlen(str);i++){ 

     //if(islower(str[i])) 
     str[i]=toupper(str[i]); 
    } 

    printf("\nThe string in uppercase is->%s\n",str); 
} 
+0

這工作*只*爲ASCII編碼,今天的人物更豐富... – vonbrand

+0

我現在要糾正這個 – milevyo

+0

@ vonbrand是的,當開發嚴重的應用程序時,應該考慮使用unicode代替ascii。但在基本的東西ascii編碼並沒有那麼糟糕。 – milevyo

相關問題