当前位置:编程学习 > C/C++ >>

linux C下vi编译,用键盘赋值函数怎么写

比如:set(global->my_word);这个set函数要完成的功能是通过键盘输入一个整数数字作为my_word的值。有劳各位前辈帮忙解决下。在麻烦说一下要用到的命令要加什么头文件。
追问:十分感谢你的回答 但是还是有问题如下:
[root@localhost conf]# gcc outsaid.c
outsaid.c: In function ‘main’:
outsaid.c:21: 警告:传递参数 1 (属于 ‘set’)时将整数赋给指针,未作类型转换
[root@localhost conf]# ./outsaid
段错误
[root@localhost conf]# 
我把完整的程序给你发下 您帮忙看下吧。#include <stdio.h>
答案:奇怪,这么多高手怎么看到vi了就不回复了?

要用到stdio.h这个头文件
首先你这个set函数要传入指针,否则set函数里是无法改变这个参数的值的
其次,用scanf这个函数就可以获取键盘输入了.

#include<stdio.h>
int set(int * a)
{
return scanf("%d",a);
}
其他:#include <stdio.h>

struct foo {
    int myword;
} a;
struct foo *global = &a;

int set(int *a)
{
    scanf("%d", a);
}

int main(void)
{
    set(&global->myword);
    printf("%d\n", global->myword);
    return 0;
}

vi 只是编辑器,要用gcc编译。 #include <stdio.h>

fun(int bb[], int *n, int y)
{
 int i, j = 0, c = 0;

 while(j <= *n - 1)
  {
   if (bb[j] == y)
    {
     c = 1;
     break;
    }
   j++;
  }

 if (c == 1)
  {
   for (i = j; i < *n; i++)
    {
     if (bb[i] != y)
      {
       bb[j] = bb[i];
       j++;
      }
    }

   *n = j;
  }
}

int main(void)
{
 int i, n = 10;
 int bb[10] = ;

 printf("n=%d\n", n);
 for (i = 0; i < 10; i++)
  printf("%d ", bb[i]);

 fun(bb, &n, 3);

 printf("\nn=%d\n", n);
 for (i = 0; i < n; i++)
  printf("%d ", bb[i]);
}
 

上一个:C语言用while循环计算1 1/2! 1/3! 1/4! ...的前20项和时运行时什么也不显示
下一个:求一份湖南省二级C语言题库,谢谢…… 365534402@qq.com

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,