簡體   English   中英

C編程字符串打印

[英]C programming Strings printing

我對此字符串有疑問。

例如:

char ex1[20]="Hello hi";
int choose;
scanf("%d",&choose);

我應該怎么做才能在用戶輸入1時顯示“ hi”,而在用戶輸入0 “ hello”?

謝謝您的幫助。

最簡單的解決方案是:

if(choose == 1)
    printf("Hello\n");
else if(choose == 0)
    printf("hi\n");
else
    printf("Please enter 1 or 0.\n");

您在這里不需要ex1

我想你要這個。

#include<stdio.h>
#include<string.h>
void split(char*str, char** arr) {
    char* str2 = strstr(str, " ");
    *str2 = '\0';
    str2++;
    arr[0] = str;
    arr[1] = str2;
}
int main(void) {
    char ex1[20] = "Hello hi";

    char*arr[2];
    split(ex1, arr);

    int choose;
    scanf("%d", &choose);
    switch (choose) {
    case 0:
        puts(arr[0]);
        break;
    case 1:
        puts(arr[1]);
    }

    return 0;
}

結果如下

在此處輸入圖片說明

在此處輸入圖片說明

你是這個意思嗎? 我不確定你到底是什么意思。

char buf[2];
fgets(buf, 2, stdin);
*buf == '1' ? puts("hi") : puts("hello");

這將從標准輸入流stdin讀取前兩個字符,如果第一個字符為1,則輸出“ hi”,否則顯示“ hello”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM