我是新手,哪位大神能告诉我这啥意思,谢谢啦。

qq_52473673 2021-02-18 10:09:50
...全文
110 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-06
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
自信男孩 2021-02-19
  • 打赏
  • 举报
回复
引用 2 楼 qq_52473673 的回复:
[quote=引用 1 楼 forever74的回复:]scanf_s("%s",name,39);

为啥后面要带个39呀。[/quote]
40,或者用sizeof(name)。不建议用39,用39是考虑最后的'\0',其实不需要关心scanf_s会考虑把'\0'加到缓存的末尾或者是有效字符的后面一个字节。
qq_52473673 2021-02-19
  • 打赏
  • 举报
回复
引用 10 楼 qq_52473673的回复:
[quote=引用 8 楼 qq_52473673的回复:][quote=引用 6 楼 qzjhjxj的回复:]供参考:
#include<stdio.h>
#define PARISE "you are a extraordinary being."
int main()
{
    char name[40];
    printf("what is your name?");
    scanf_s("%s",name,40);
    printf("Hello,%s. %s\n",name,PARISE);
    
    return 0;
}
参考百度:https://www.zhihu.com/question/64044016
不行呀,报错说40是未声明的标识符。[/quote] 不好意思,刚才我弄错了。已经可以了,谢谢。[/quote] 再次劳烦您一下,为什么要在后面加个40呢?
qq_52473673 2021-02-19
  • 打赏
  • 举报
回复
引用 8 楼 qq_52473673的回复:
[quote=引用 6 楼 qzjhjxj的回复:]供参考:
#include<stdio.h>
#define PARISE "you are a extraordinary being."
int main()
{
    char name[40];
    printf("what is your name?");
    scanf_s("%s",name,40);
    printf("Hello,%s. %s\n",name,PARISE);
    
    return 0;
}
参考百度:https://www.zhihu.com/question/64044016
不行呀,报错说40是未声明的标识符。[/quote] 不好意思,刚才我弄错了。已经可以了,谢谢。
worldy 2021-02-19
  • 打赏
  • 举报
回复
scanf_s("%s",&name,39);
qq_52473673 2021-02-19
  • 打赏
  • 举报
回复
引用 6 楼 qzjhjxj的回复:
供参考:
#include<stdio.h>
#define PARISE "you are a extraordinary being."
int main()
{
    char name[40];
    printf("what is your name?");
    scanf_s("%s",name,40);
    printf("Hello,%s. %s\n",name,PARISE);
    
    return 0;
}
参考百度:https://www.zhihu.com/question/64044016
不行呀,报错说40是未声明的标识符。
worldy 2021-02-19
  • 打赏
  • 举报
回复
scanf_s("%s",[color=#0000FF]&name[/color],39); //必须是变量地址,
qzjhjxj 2021-02-19
  • 打赏
  • 举报
回复
供参考:
#include<stdio.h>
#define PARISE "you are a extraordinary being."
int main()
{
    char name[40];
    printf("what is your name?");
    scanf_s("%s",name,40);
    printf("Hello,%s. %s\n",name,PARISE);
    
    return 0;
}
参考百度:https://www.zhihu.com/question/64044016
qq_52473673 2021-02-19
  • 打赏
  • 举报
回复
引用 4 楼 forever74的回复:
scanf_s的其他用法和scanf一致,但是, 每个%s或%c格式符需要对应后面2个参数,第二个是长度限制。
但我按你上面那样打还是不行呀。
forever74 2021-02-19
  • 打赏
  • 举报
回复
scanf_s的其他用法和scanf一致,但是, 每个%s或%c格式符需要对应后面2个参数,第二个是长度限制。
qq_52473673 2021-02-19
  • 打赏
  • 举报
回复
引用 1 楼 forever74的回复:
scanf_s("%s",name,39);
好像也不行哟
qq_52473673 2021-02-19
  • 打赏
  • 举报
回复
引用 1 楼 forever74的回复:
scanf_s("%s",name,39);
为啥后面要带个39呀。
forever74 2021-02-19
  • 打赏
  • 举报
回复
scanf_s("%s",name,39);
qq_52473673 2021-02-19
  • 打赏
  • 举报
回复
引用 14 楼 qq_34124780的回复:
scanf()不是要用&符号来取地址接收吗?scanf_s应该也需要吧。。。
这个是name数组,不需要那个
爱晚乏客游 2021-02-19
  • 打赏
  • 举报
回复
scanf()不是要用&符号来取地址接收吗?scanf_s应该也需要吧。。。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧