c语言scanf字符串_C语言细节

1.i++和++i

#include <stdio.h>

int main()
{
	int i = 5, j;

	j = ++i;
	printf("i = %d, j = %dn", i, j);

	i = 5;
	j = i++;
	printf("i = %d, j = %dn", i, j);

	return 0;
}

输出 6 6 6 5

说明j=i++的机制是i的值5先赋给j,然后i自己++变成6

2.goto语句

#include <stdio.h>

int main()
{
	int i = 5;

	while (i++)
	{
		if (i > 10)
		{
			goto A;
		}
	}

A:	printf("Here, i = %dn", i);

	return 0;
}

goto label

label:

执行label后的语句

goto语句除非要跳出多层嵌套的循环,否则不要使用

3.数组不能动态定义

c666fa48a4251ad47dfa78d5cf657fca.png

4.数组可以指定初始化元素,未被赋值的元素自动初始化为0

int a[10]={[3]=3,[5]=5,[7]=7};

如果读入字符数组的元素,将a[n]初始化为结束符0,让用户不用每次输入字符串最后还要加0

char a[n+1]

scanf("%c", &a[i]);

a[n] = '0';

5.C99下,C语言可以定义动态数组

#include <stdio.h>

int main()
{
	int n, i;

	printf("请输入字符的个数:");
	scanf("%d", &n);

	char a[n+1]; 

	printf("请开始输入字符:");
	getchar();//读掉换行符,让字符串能全部输出
	for (i = 0; i < n; i++)
	{
		scanf("%c", &a[i]);//C语言的字符串以0结尾 
	}

	a[n] = '0';
	printf("你输入的字符串是:%sn", a);

	return 0;
}

6.C

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值