请问如何实现对x,y的有效输出

img

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

输入2 2后回车没有输出内容

运行结果及报错内容

觉得会不会是语句块的原因导致x,y值没法转入主语句

我的解答思路和尝试过的方法

希望在输入字符后对比数字对x,y分别赋予字符串然后输出

我想要达到的结果

你应该用字符数组存储字符串,然后用strcpy复制给x或y,记得加上头文件#include<string.h>,例如:

img

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j;
    scanf("%d",&i);
    char x[20];
    switch(i){
        case 2:
        strcpy(x, "hello");
    }

    printf("%s",x);
    return 0;
}



x和y的定义改为char * x, * y;
switch中都改为 x = "twenty"这种形式
输出不需要改了
=================
你的问题主要是两个:
一是x,y你想存储字符串,应该定义成char * ,或者 char x[10]这样子
二是你在swtich的case中有重新定义了临时变量char * x,这个在printf时是访问不到的,所以代码都是白写,最后printf输出的还是一开始定义的char x,y;但这两个变量在代码中没有进行任何赋值

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632