首页 > 用户发贴区 > 编程问题提问区 > c语言字符串输入?
2008
04-22

c语言字符串输入?

请问大侠:


scanf(“%s“,&str);


这样写对吗?


书上说这样写错误,但是


在TC中这样写也可正常运行的。


请问为什么??


c语言字符串输入?》有 9 条评论

  1. m13554550158 说:

    确实可以  应该书上说明了的      如果没有说明  请把书上写的东东具体的写出来    这样才能分析额

  2. 幻海之涛 说:

    书上写 不带&

    楼上解释下吧

  3. fjcpu 说:

    scanf(“%s“,str);

    scanf(“%s“,&str);

    两者在一般的编译器下都可以运行。可能是书上选用的编译器不支持哪种写法,所以认为它有错。

     

  4. miliya 说:

    书上的写法是不复合标准的,特别是谭浩强的书。

  5. lucky 说:

    怎么把数组 a[N]中的N个元素进行排序,每排完一次后赋给b[N];

    例 ;1 2 3   可排成  3 2 1  ;  1 3 2。。。

  6. wo2c 说:

    谢谢了哦!!

  7. jiguiliang 说:

     

    你提问的问题不是大具体的,不好回答,

    比方说str是数组的时候就是不正确的,而它是变量的时候就是正确的,

    这个你应该知道吧!!

    就是说要具体化。

  8. lxwstudent 说:

    我觉得是这样:

    str为字符变量:此时一定要用&str,这时是将变量的地址充当输入字符串的首地址,然后边输入边开辟(是不是有点危险呢).

    str为字符数组:此时&str和str都可以,两者都是得到数组首地址,用str即数组名代表首地址,所以我觉得书上说的没错.

    我看谭浩强的书,呵呵~

  9. doctor 说:

    如是输入字符串,定义的是字符数组,字符数组名即为其地址,关键要看你定义的str是什么

留下一个回复