C编程字符串打印
C programming Strings printing
我对这个字符串有疑问。
例如:
char ex1[20]="Hello hi";
int choose;
scanf("%d",&choose);
我应该怎么做才能在用户输入 1
时打印 "hi",如果他输入 0
则打印 "hello"?
感谢您的帮助。
这是你的意思吗?我不太清楚你的意思。
char buf[2];
fgets(buf, 2, stdin);
*buf == '1' ? puts("hi") : puts("hello");
这从标准输入流 stdin
中读取前两个字符,然后如果第一个字符是 1 则打印 "hi",否则打印 "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 = '[=10=]';
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 ex1[20]="Hello hi";
int choose;
scanf("%d",&choose);
我应该怎么做才能在用户输入 1
时打印 "hi",如果他输入 0
则打印 "hello"?
感谢您的帮助。
这是你的意思吗?我不太清楚你的意思。
char buf[2];
fgets(buf, 2, stdin);
*buf == '1' ? puts("hi") : puts("hello");
这从标准输入流 stdin
中读取前两个字符,然后如果第一个字符是 1 则打印 "hi",否则打印 "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 = '[=10=]';
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;
}
结果如下