C语言中为什么会出现runtime error?

 我来答
风若远去何人留
2014-01-28 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部

从代码上看 感觉你是初学者吧 有不少基础的概念都没有弄通 建议多看一下C基础 比如类型 输入输出这方面的

大致改一下你的代码


#include <stdio.h>
int main(void)
{
    char *n = "test string for n\n", y = "test string for y\n";
    //对于字符串必须定义成char *或者char[]类型 用=赋值必须在定义时 如果在运行中要改变其值 则必须定义为char []型,同时用strcpy函数进行赋值
    int a;
    scanf("%d", &a);//用scanf输入整型值时 变量a前要加& 初学的时候记住就可以了 不需要理解 
    //学指针和函数后 你会明白为什么要加&
    
    //以下部分没有错误 
    if(a<2)printf("%s",n);
    else printf("%s", y);
    return 0;
}
度娘是我闺蜜
2014-01-28 · 超过21用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:58.5万
展开全部
n和y应该这样定义:char *n = "字符串";char *y = "字符串";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
commars
2014-01-28
知道答主
回答量:72
采纳率:0%
帮助的人:24.9万
展开全部
问题就在于你的y和n都是整形,但printf里面却用了%s
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友719f8ef
2014-01-28 · 超过22用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:53.8万
展开全部
你的n,y为何定义为int呢?不是char*?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式