gpt4 book ai didi

c - 在c中扫描字符串

转载 作者:太空宇宙 更新时间:2023-11-04 06:06:55 25 4
gpt4 key购买 nike

   int main( )
{
char str[200];
int n,tc;
scanf("%d",&tc);
while(tc--)
{
scanf("%d",&n);
gets(str);
puts(str);
}
return 34;
}

为什么这个码扫不出来。字符串(str)等于tc?
平台 UBUNTU 10.04

最佳答案

这是我在我的机器上得到的:

vovanium@microvovanium:~/tmp$ cc whoa.c 
whoa.c: In function ‘main’:
whoa.c:4: warning: incompatible implicit declaration of built-in function ‘scanf’
/tmp/cc1r5dZe.o: In function `main':
whoa.c:(.text+0x4b): warning: the `gets' function is dangerous and should not be used.
vovanium@microvovanium:~/tmp$ ./a.out
3
12qwe
qwe
34asd
asd
56zxc
zxc

所以它似乎在扫描。

您似乎在使用 K&R C,但这不是个好主意。使用 ANSI/ISO C 标准。

  1. 没有 #include <stdio> , 和程序的开始。需要使用scanf() , gets()puts() .在使用可变参数函数时尤其必要,例如 printfscanf (因此我的编译器会提示)。
  2. 您没有为 main() 声明参数类型。主要有样机int main(int argc, char *argv[]) .
  3. 您将函数参数用作局部变量,最好在函数体中声明它们。您必须拥有:int tc;int n;就在{之后.
  4. 可能从 main() 返回的值定义在 <stdlib.h> 中可以是EXIT_SUCCESSEXIT_FAIL或常用的 0 或 1(当然您可以使用其他值,但您必须确保它们在您的环境中有意义。

关于c - 在c中扫描字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8638872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com