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