| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1790 人关注过本帖
标题:这串代码怎么行不通
只看楼主 加入收藏
新手714
Rank: 1
等 级:新手上路
帖 子:50
专家分:3
注 册:2020-4-25
结帖率:88.89%
收藏
 问题点数:0 回复次数:5 
这串代码怎么行不通
#include<stdio.h>
#include<string.h>
int main()
{
    printf("输入一串字符:\n");
    char zf[14],*p;
    int c=0;
    p = zf;
    gets_s(zf);
    for (p = zf; p != '\0'; p++)
        c++;
    printf("字符串的长度是:%d", c);
    return 0;
}
搜索更多相关主题的帖子: int 代码 include c++ printf 
2020-05-13 23:57
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1688
专家分:4262
注 册:2007-12-27
收藏
得分:0 
*p!='\0';

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-05-13 23:59
新手714
Rank: 1
等 级:新手上路
帖 子:50
专家分:3
注 册:2020-4-25
收藏
得分:0 
回复 2楼 forever74
大佬大佬
2020-05-14 00:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
gets_s(zf); 是怎么编译通过的?我猜你用的不是C编译器,而是C++编译器。
另外,gets_s 在C++中不是标准函数,只是VC的一个私有扩展。
2020-05-14 08:52
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
以下是引用rjsp在2020-5-14 08:52:48的发言:

gets_s(zf); 是怎么编译通过的?我猜你用的不是C编译器,而是C++编译器。
另外,gets_s 在C++中不是标准函数,只是VC的一个私有扩展。

gets_s 是C11开始添加到标准库里面的函数
不一定是私有扩展
https://zh.

https://zh.
2020-05-16 14:23
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
回复 5楼 lin5161678
我说的是“在C++中不是标准函数”
而我之所以谈到C++,是因为他的代码必然用的不是C编译器,而是C++编译器。若是C编译器,那么gets_s少一个参数。

我的意思是:
  若用C编译器,gets_s(zf) 应该改为 gets_s(zf,14);
  若用C++编译器,别用 gets_s 这个在C++标准库中不存在的函数。
我觉得 用C++编译器去学C 不是个好习惯,最终会学成个四不像。
2020-05-16 21:47
快速回复:这串代码怎么行不通
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018312 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved