关于scanf输入个人碰到的一些小问题

1.如何输入带空格等的字符串:在%后不需要加s,直接[^\n]等。**

char name[30];
scanf("%[^,]",name);

2.对于为什么上述语句之后还要输入其他整数却无法输入的问题。
在dev中,如果写如下语句:

class Student{
	private:
		char name[30];
		int age;
		int id;
	public:
		void input(){
			scanf("%[^,],%d,%d",name,&age,&id)

程序会停止运行。但是如果%[^,]和%d之间不加‘,’后面的age就无法输入,cout显示为0。于是把scanf拆开,分为两句:

		scanf("%[^,],", name);
		scanf("%d,%d", &age, &id);

这样就不会有问题了。但是并不知道这是为什么……如果有大神看到小弟这篇文章,烦请不吝赐教。

3.visual studio中scanf报错的问题
这其实是个老问题了。省得忘记。在前面加两行代码:

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable:4996)

以前试过只加第一行似乎不行,但是现在写博客的时候好像又可以了……

猜你喜欢

转载自blog.csdn.net/weixin_44288817/article/details/87902722