为什么scanf()总是不返回任何内容?

汤正雄

嗨,我需要有关此的帮助:

 int t;
 t = 1;
 char abc[256];
 int main() {
 scanf("%s", abc);
 if(abc == "google") {
  printf("%s \n", abc);
  system("firefox");
 } else
  printf("error");
}

它总是返回错误,请有人帮忙!我已经尝试过了scanf("%c", &abc);,我用相同的结果重写了大约5次。我是新来的,所以这可能是非常愚蠢的事情。

克里斯·贝克
  1. if(abc == "google") {

    这并没有按照您的想法做。这将检查指向这两个字符串指针在数值上是否相等。它们永远不会,因为它abc是在堆栈中分配的,并且"google"是字符串文字,因此具有静态存储持续时间。

    您应该使用strcmp像ameyCU指出的那样。

  2. 通常,不要这样使用scanf,如果有人传递了大字符串,您编写的代码很容易受到缓冲区溢出攻击。

    您可能想看看这篇关于如何scanf安全使用的不错的文章如何防止scanf导致C中的缓冲区溢出?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

main函数不返回任何内容。为什么?

为什么我的内部联接查询不返回任何内容?

为什么我的单词计数器不返回任何内容?

为什么此处理程序不返回任何内容?

为什么python在计算后不返回任何内容?

为什么页面不返回任何xpath?

为什么.map()不返回任何内容?

为什么Swift的类型检查系统允许返回类型的函数不返回任何内容?

为什么SQL不匹配任何内容?

Ajax请求不返回任何内容。为什么?

为什么此提取请求不返回任何内容

为什么PIG FILTER不返回任何内容?

为什么OpenGL方法不返回任何内容?

为什么调用存储过程不返回任何内容?

Mongoose.findOne不返回任何内容,为什么?

以root身份运行时,ls命令不返回任何内容,为什么?

为什么mycourses [i] .getGrade()不返回任何内容(C ++)?

如果javascript中的函数不返回任何内容,为什么?

Google 图书 api 总是不返回任何内容

为什么 dask 在 CUDA 函数上不返回任何内容?

为什么 main() 不返回任何值?

为什么我的 for 循环不返回任何内容?

为什么下面的函数不返回任何值,它总是返回空

FutureBuilder 快照数据不返回任何内容,为什么?

为什么在搜索存在的类时不返回任何内容?

为什么查询不返回任何数据?

为什么 .map 函数在反应中不返回任何内容

为什么类中的函数不返回任何内容?

为什么scrapy不返回任何链接?